小程序经验分享(二)

基于微信小程序的投票系统开发经验分享 ** 一、前言 **第一次在社区发文章,作为一个大学未毕业的前端菜鸟,自己平常也经常逛各种技术社区,今天终于要发表自己的处女文章了,还是有点小激动的。由于最近在帮学校做开发一个基于微信小程序的投票系统项目,开发时也遇到很多坑,有一些心得,所以想分享给大家,一起讨论和进步。(个人开发技术有限,不好勿喷--)。 二、功能需求 程序能够发布各... 阅读详情

小程序最初的设计是真正想要用户信息的情况下去才获取信息,开发者并没有按照小程序的期望去做,导致用户在试用的时候产生一下问题:

  1. 开发者在首页直接调用wx.getUserInfo进行授权
  2. 开发者没有处理用户拒绝弹框的情况
  3. 有部分开发小程序强制要求用户授权头像昵称等信息才能继续使用小程序
  4. 开发者默认将wx.login和wx.getUserInfo绑定试用,这个是有小程序

 

为了提升用户体检,小程序2018.4.30开始升级,开发版调用该接口,将无法弹出授权询问框,默认调用失败,真是版本暂不受影响

并提出方案:

<button open-type=“getUserInfo” bindgetUserInfo=”userInfoHandle”>获取用户信息</button>

button组建:由于用户主动触发,不受弹框次数限制,只要用户没有授权,都会再次弹框

wx.getUserInfo 的withCredentials参数

withCredentials:true (可以获取到明文信息和加密信息,必须要求用户已经登陆,也就是调用过wx.login,并且状态没有失效)

加密信息包括:用户信息+openId+unionId

withCredentials:false(不需要用户登陆,但无法获取用户加密信息)

推荐试用方法:

  1. 首先试用wx.getSetting获取用户的授权情况
  2. 如果用户已经授权,直接调用API wx.getUserInfo获取用户最新的信息
  3. 用户未授权,并且按钮提示用户授权,当用户点击并且授权后就获取到用户的细腻
  4. 如果已经授权了,隐藏按钮,之后获取信息调用API,因为已经授权,所以不会推荐使用的方案:

打开小程序就谈款授权用户信息

未处理用户拒绝授权的情况

 

生成的码永久有效

接口A:(getWXAcode)

接口B:(getWXACodeUnlimit)

接口C:(createWXAQRCode)

 

A和C:参数path里,长度128字节限制10000个

 

推送位置:服务通知

 

公众号:可以主动推荐,小程序:必须有交互行为

  1. 收集formId
  2. 登陆后台获取模版ID
  3. 调用接口sendTemplateMessage发信息

条件限制:有交互行为后的7天,1次支付发3条,1条提交表单

微信的限制随时会有调整

  1. 小程序源码打包后的大小限制为2M
  2. 窗口的地步最少2个最多5个
  3. 小程序的原型界面层级限制,不超过10层
  4. 地图定位每天只能使用1万次
  5. 流量主开通的累计独立方可uv不低于1000

 

access_token过期问题

通过getAccessToken接口回去,是全局接口调用凭据

各自去刷新,否则容易冲突,导致access_token覆盖而影响业务

有效期为2小时,需定时刷新,重复获取将导致上次获取的access_token失效,每天只能生成2000次

解决方案:发现功能异常时,刷新access_token并更新redis,然后在你调用接口

方案2:生情歌测试小程序,测试环境测试的appid,和线上分开

 

低版本兼容:

小程序的功能不断增加,解决方案

  1. 设置-基本设置-基础库最版本设置-选择一个版本
  2. 使用if判断API是否存在
  3. wx.canUse

canUse: wx.canUse(‘view’)

<view wx:if=”{{canUse}}>play</view>

 

微信小程序实例--洗衣小程序开发经验分享 解决问题,方便生活,为大学校园中,企业园区里洗衣服还要办理洗衣卡,洗衣服的时候还得揣着一张洗衣卡,只需要拿着手机扫一扫就能完美解决,轻客洗衣微信小程序。下来看看该小程序“轻客”,本人写了几个自己觉得主要的功能,还有部分功能待编写中,欢迎各位看官批评,同时跪求各位看官收藏点赞,不胜感激 阅读详情

相关推荐

小程序领域开发框架的实战经验分享

本文旨在分享在小程序开发框架领域的实战经验,涵盖从技术选型到性能优化的全流程实践。我们将聚焦于微信小程序生态,但大部分经验也适用于其他平台的小程序开发。本文将首先介绍小程序开发的基本概念和主流框架,然后深入探讨开发实践中的关键技术和优化策略,最后分享一些高级技巧和未来发展趋势。小程序:一种不需要下载安装即可使用的应用,实现了"触手可及"的梦想WXML:WeiXin Markup Language,微信小程序专用的标记语言WXSS:WeiXin Style Sheets,微信小程序的样式语言双线程架构。

小程序开发 1013

生成无限制的微信小程序码

概述 现在除了用二维码之外,微信还可以为我们生成小程序码,大概长这个样子。 如果要生成无限制的小程序码,需要几个步骤 1、小程序某个页面的地址,也即是指定page参数的值; 2、获取access_token; 3、指定scene参数的值; 4、调用getwxacodeunlimit接口,并将返回结果存储到一个图片里。 page参数 page参数的值都是以pages开...

Sam_Deep_Thinking 1万+

机器学习模型——非线性回归

升维是一种常用的处理非线性问题的方法,它通过将原始数据从低维空间映射到高维空间来增强模型的表达能力。我们可以看出,二维数据用一维直线很难去很好的拟合。升维里的degree设置的不易过大,否则容易造成维度灾难。升维后,拟合的线与原数据比较符合。将非线性问题转换为线性问题。

qq_60688380的博客 1421

小程序学习(一)

bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。 自基础库版本 1.5.0 起,触摸类事件支持捕获阶段。捕获阶段位于冒泡阶段之前,且在捕获阶段中,事件到达节点的顺序与冒泡阶段恰好相反。需要在捕获阶段监听事件时,可以采用capture-bind、capture-catch关键字,后者将中断捕获阶段和取消冒泡阶段。 事件对象: targ...

smaller_coder的博客 392

Windows下Nginx发布DEM地形瓦片数据全流程(含Cesium调用避坑指南)

本文详细介绍了在Windows环境下使用Nginx发布DEM地形瓦片数据的完整流程,并提供了Cesium前端调用的详细配置与避坑指南。重点讲解了Nginx的核心配置、跨域问题解决以及CesiumTerrainProvider的关键参数设置,帮助开发者快速搭建本地地形服务,实现高效的三维地形可视化。

weixin_29212867的博客 433

π_RL:解锁流匹配VLA强化学习后训练的关键技术与实战解析

本文深入解析了π_RL框架如何通过流匹配(flow matching)与强化学习(RL)的结合,解决视觉语言动作模型(VLA)在后训练中的关键挑战。详细介绍了Flow Noise和Flow SDE两大核心技术,以及它们在机器人控制任务中的实战效果,显著提升了模型的性能、数据效率和泛化能力。

weixin_29061531的博客 220

从零开始AI编程:开发优惠券小程序|01 适合普通人的3大AI实战场景

大家好,我是一诺!从年前开始,我一直在研究AI编程,并且通过AI编程成功变现从UI设计、开发到上线,至少80%的工作都是由AI工具完成的,效率高到让人不敢相信!我想把这个经验分享出来,做一个系列教程,以电商优惠券小程序为案例 用AI 开发一个真实的项目。

程序员一诺 1183

哈工大2024春大数据挖掘期末考试回忆版试题

(3)现有一个用户数量远多于物品(还是物品远多于用户,忘了是哪个了)的情景,应该使用基于user-user的推荐系统还是item-itmen的推荐系统,说明原因。(1)L是n*n拉普拉斯矩阵,x是一个n*1列向量,证明对任意的x,(x)^TLx>=0(6分)(3)证明:p到o的K-可达距离,至少是o的K-distance(2分)(2)(1)的结果说明竞争率的上界是多少?(2)考Gain的意义,如何利用Gain选择划分点(2分)(2)说明如何利用划分后的数据进行验证(2分)(2)k可达距离是对称的吗?

ymd2002的博客 1889

微信小程序如何优雅地跳转外部链接?WebView + 复制方案实战

微信小程序里不能直接跳转外部网页,只能走。能加业务域名 → WebView 打开不能加 → 复制链接兜底最佳实践:写一个统一的打开链接函数,自动选择策略。这样既符合微信的限制,又能保证用户体验。👨‍💻 以上就是我在实际项目中踩坑总结的「小程序跳转外部链接」两种思路,希望能帮到你!如果你也在做类似需求,欢迎留言交流~

winners23的博客 5493

计算机视觉-全景图像拼接中的特征匹配与优化策略

本文深入探讨了计算机视觉中全景图像拼接的核心技术,重点解析了特征匹配后的关键优化策略。通过SIFT特征提取、RANSAC算法剔除误匹配,并结合APAP算法应对视差与鬼影问题,详细阐述了从基础对齐到无缝融合的完整流程,为开发者实现高质量全景拼接提供了实用指南。

weixin_29039773的博客 361

MATLAB与ROS联合仿真——订阅ROS消息类功能模块介绍

MATLAB与ROS联合仿真——订阅ROS消息类功能模块介绍 (1)输入参数:无 (2)输出参数:Xr和Yr是小车当前在世界坐标系下的坐标 (3)主要作用:作为ROS与MATLAB的通讯接口,从ROS中订阅小车当前的位置信息,并输出 (4)内部结构: (5)具体实现过程:通过ROS工具箱中的Subscribe模块从ROS中订阅话题/gazebo/link_statesa 通过Bus Selector模块选择ROS总线中的Pose

慕羽★的博客 2699

关于小程序swiper组件中只有一条数据时的渲染问题

自己基础知识不牢固,所以才会造成使用上的懵逼,上一任的bug我来改,所以在项目熟悉上还有问题,所以自己想来点小分享,共同学习,网上查找的资源没有合适解决问题的 知识在于分享 在小程序开发过程中,使用swiper轮播组件时,需求是当使用循环数组时,数组一有多条数据,数组二中只有一条数据时,数组一想要在视图层展示两条数据,此时数组二中的一条数据展示过程中踩了许多坑,第一次写博客,有点啰嗦了,直接上图解...

weixin_44348138的博客 2371

YOLO骨干网络改进-第1篇:深度解析YOLOv8的C2f模块原理与实现

首先,需要将自定义的C2f模块注册到Ultralytics的模块字典中。# 注册自定义模块"""自定义的C2f模块。"""# 自定义YOLOv8s配置文件:yolov8s_custom.yamlscales:# Backbonebackbone:# Headhead:# 加载自定义模型# 训练模型imgsz=640,batch=16,device=0,workers=8,设计理念:C2f模块是C3模块的演进,通过增加梯度分支来丰富梯度流,提升特征表示能力。结构原理。

2201_76125393的博客 109

软考 - 系统架构设计师如何备考?文中含资料分享和备考心得

系统架构设计师备考经验分享,资料分享和备考心得分享

小草的博客 1288

054_小驰私房菜_Camx i2c读写相关备忘

Camera 对Ae、Af这些控制,实际都是,最终实际都是落实到hal下发相关的指令给驱动,那hal这边是怎么给驱动下发相关命令的呢?#小驰私房菜054# #Qcom Camx#可以参考看下下面相关代码内容。

149

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

手把手教你搭建医学题库小程序之按科目分类实现

手把手教你搭建医学题库小程序之按科目分类实现 早段时间,有位从事医学行业的朋友,他想做个医学题库小程序。其实,他确实是有点计算机基础,但终究还是隔行如隔山。看起来简单的东西,做起来其实并不简单。 很多人,往往会不慎陷入思维的误区。在这日益分工细化的发展中,专业的事情就该交给专业的人处理吧。 虽然后来让我来直接给他做了一个医学题库小程序。但是我还是记录一下刚开始,他想法很简单,就是以为自己可以做出来,我当时还是给他一些指导。 但是,后来的后来,他发现真的不是他所能做出来的,更别

mon_star°的博客 580

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

小程序端测试经验分享

小程序端测试经验分享前言一、移动端性能测试工具-PerfDog(一)客户端和服务端的性能指标区别(二)客户端和服务端的测试工具区别(三)perfdog的优点(四)perfdog的使用(五)评测指标(六)操作注意(七)其他方法延伸1.开发工具上的方法2.小程序端的方法二、小程序接口漏洞测试方法(一)官方开发工具和后台提供的测试方法(二)第三方扫描平台-WeTest(三)借助工具手动测试三、小程序端兼容测试如何做(一)全面兼容性能测试-第三方平台1.WeTest平台2.TestIn平台3.优测平台(二)特定机型

harryzzz的博客 1652

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

小程序经验分享

小程序经验分享 前言 最近几年随着移动互联网的迅猛发展,据统计微信已拥有超过9亿的用户量,小程序(Mini Program)越来越备受关注。它不需要下载安装就可以进行使用,具有轻便、快捷、低门槛等特点,据微信官方统计目前开发者已超过150万,日活跃用户达到2亿,在2019微信公开课PRO版上,微信发布小程序成绩单:覆盖超过200个细分行业,服务超过1000亿人次用户,年交易增长超过600%,创...

maxjuxain的博客 797

前端学习总结,经验分享,项目经验分享过程

前言 来,和魔王哪吒总结一下,分享一下自己对前端学习总结,经验分享,以及写过的项目经验分享过程。 如果觉得还不错的话,浏览的过程中,需要您: 点赞,分享,评论 有钱的捧个钱场,没钱的捧个人场 技术实践、读书笔记、编程技巧、随笔杂谈、原创翻译,漫谈自己人生感触 学习总结 hello,大家好,来给大家分享我的专业学习经验和日常学习经验。对于编码的学习,我认为基础知识和编程实践是最重要的。刚开始学习前端的时候,是将基础知识学习一遍,所用教材可以靠学校发的教材即可。基础学习过后,最重要的就是实践,可以不断做

程序员哆啦A梦,蓝胖子 5381

小程序审核经验分享|小程序发布如何快速过审?

首先说明下这只是经验分享,并非100%的结论,但是我们公司按照这几点执行后,的确审核效率大大提高,甚至有2次半小时就审核通过了。 相信有个小伙伴会遇到这个棘手的问题,事前已经跟市场部,广告推广商量了好排期,但小程序迟迟不过审,这个的确挺令人糟心的~~~ 1、提交审核信息(非常重要) 修改内容LOG一定要清晰完整 如果需要,请一定提供配套测试账号,这样可以大大加快审核 版本号严谨,避免混乱 如图: 很多开发者在提交审核的时候,觉得版本描述无所谓,随便写写,这个是很错误的,...

APPx应用魔方 4939

小程序推广换量经验分享

2017年初,小程序开始出现在大家的视野里,随后便如雨后春笋般,开始野蛮生长,红极一时的“跳一跳”,刷遍了多少人的朋友圈。各个小程序的出现,也带来了新问题,如何给小程序导量?尤其是流量获取越来越困难的今天,小程序也成了商家争抢流量的重要手段。今天,就从小程序的增长和小虎推平台相关,给大家做几点分享: 其实,这套实操经验不仅仅适用于小程序,在其他方面的拉新和用户增长方面,同样适用。 小程序如何拉新?...

weixin_44479245的博客 1954

uni-app开发小程序:项目架构以及经验分享

tabBar写uni-app或者小程序基本避不开这个话题了,很多情况下,官方提供的tabBar方案并不能满足产品需求/ui要求,官方也提供了自定义tabBar的方案,但此方案有很多弊端,比如:切换时候会tabBar会有明显的闪动。可以参考之前写的文章小程序自定义TabBar 如何实现“keep-alive”,文章中是原生小程序,但思路在uni-app中同样适用,如果感兴趣,可以评论区提问。

qq_41292756的博客 1270

小程序码生成及分享图绘制

场景 项目需求为用户创建活动,且生成了小程序码,进而再生成小程序码分享图,即在原小程序码的基础上绘制一张完整的分享图,并展示给用户进行分享。个中过程均交由后台生成并绘制(原因:用户在小程序直接点击某选项,直接转至分享图页面,而图片存储七牛云之上,若由前端生成再交由后台处理并返回,便影响响应速度) 说明 开发环境:JDK1.8 开发语言:Java 正题 生成小程序码 调用微

Joryun_Blog 1万+

基于AI开发幼儿时钟小程序的版本更新与经验分享

分享使用 AI 工具 windsurf 开发幼儿时钟小程序的版本更新情况,包括因发现 BUG、追溯来源及获取用户反馈而进行的更新内容,如测试模式改进等;解答微信小程序放置二维码及推广分析工具相关疑问;记录代码审核到上线时间线,并介绍小程序更新机制,为开发者提供经验参考。

qq_43350218的博客 1890

你不知道的微信小程序测试经验分享

网上有不少介绍小程序测试的文章,但大多是偏测试工具角度讲解的,从小程序产品特性角度分享经验的较少。今天就从这个角度分享一些心得体会。不足之处请留言,共同探讨。

自动化软件测试 793
上一篇: VUEX知识总结
下一篇: 块级作用域
小桃酥
博客等级 码龄10年 23粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值