- 小程序备案指南(企业备案),持续更新
在mp后台: 1:未上架的小程 首页--小程序发布流程--小程序备案(查看能否备案)。 说明:此页面是未发布小程序前的首页页面,发布后的不一样,不要纠结找不找得到、没有这个页面。已经发布的看下方第二张图。 可以备案: [图片] 2:已上架的小程 可以备案: 小程序管理后台顶部会提示“小程序需补充备案信息”的提醒,点击【去备案】即可进入备案流程 或在设置--基本设置--小程序备案(去备案) 不能备案: 设置--基本设置--小程序备案(暂未对存量小程序开放) [图片] 企业小程序备案准备材料: 营业执照(副本扫描件或加盖公章的复印件,建议用副本扫描件,在上面加上**小程序备案所用,他用无效)。法人身份(最好是法人,负责人的也可以)证正反面照片,彩色的,拍照要拍全。管理员个人信息,姓名,身份证号,电话,备用电话,常用邮箱。(建议管理人员和负责人是同一个人)地址填写,最好是营业执照上地址,也可以是常用地址。前置审批/专项审批(具体可查看https://developers.weixin.qq.com/miniprogram/product/record_guidelines.html)。补充材料:根据规则提供包括但不限于授权书、党建证明、居住证、情况说明、承诺书等。互联网信息服务备案承诺书(单位)。资料提前准备好,需要法人扫码验证(和小程序认证差不多)。根据不同地区,准备资料可能有所差异,详细需要什么资料,审核备案时具体再做补充。如果上述没有看懂,转移这里,官方给出的流程https://developers.weixin.qq.com/miniprogram/product/record_guidelines.html[图片] 备案流程 [图片] 。。。。。。(持续更新详细步骤) 九月八号上午填写备案信息,九月十三号成功备案(本来九月八号当天发验证短信的,用户这边没及时验证,耽搁一天) [图片] 常见信息填写问题 1、备案流程中的主办单位、主体负责人具体指的是谁?主办单位 又称互联网信息服务主办者,主要指内容服务提供者,包括单位(如企业、政府机关等)和个人两类。主体负责人 个人:主体负责人应为主办单位本人。非个人:通常由单位法定代表人担任,如有特殊情况(如法代身份涉密、长期不在国内等)可授权单位高管担任。2、个体户没有公章怎么办?若个体工商户无公章,需要主体负责人手写日期+签名+盖手印+身份证号码,同时请在主体备注处备注“个体工商户无公章”。 3、填写小程序主体信息的通讯地址是指的什么地址?可填写主体证件上的地址,也可填写你实际的办公或住所地址。 若你是个人开发者:需精确到门牌号码,若已是最详细的地址或无门牌号的,在主体备注中说明“通信地址已为最详细”。若你是单位开发者需精确到门牌号码,且至少和主体证件所省份保持一致(如证件住所和通讯地址都是广东省),不能使用特殊符号(如:2#楼2-3-301);若已是最详细的地址,无门牌号的,在主体备注中说明“通信地址已为最详细”。备注:若你是北京地区,通讯地址填写时不能使用特殊符号(如:2#楼2-3-301)。4、什么情况下需要上传居住/暂住证明?当个人主体小程序备案申请人的身份证证件地址与申请小程序备案的省份不一致时,需要提供暂住证或居住证等证明材料。 涉及省份包括:吉林、上海、江苏、浙江、安徽、山东、湖北、广东、四川、贵州、云南。 5、小程序备案主体负责人必须填写法定代表人吗?每个省份管局的要求不一致,请按照备案小程序所属省管局要求进行填写,具体请参考: 类型地区主体负责人不是法定代表人需提供小程序主体负责人授权书吉林、山西、甘肃、江苏、安徽、四川 主体负责人必须是法定代表人:天津、内蒙古、陕西、宁夏、新疆、湖北、湖南、河南、上海、浙江、江西、贵州、重庆、云南、西藏、广西、广东、福建、黑龙江、河北、山东、青海 主体负责人可以不是法定代表人吉林、山西、甘肃、江苏、安徽、四川、海南、北京、辽宁 6、提示:主体负责人与法定代表人不一致,且备案所在地不支持法定代表人授权?你填写的【主体负责人】姓名与营业执照证件上的【法定代表人】姓名不一致,请重新填写,并保持一致。你在小程序备案 -【验证备案类型】页面中 - 主办人信息 - 选择地区中选择的省份,不支持法定代表人授权,【主体负责人】需填写【法定代表人】姓名。备案省份需填写小程序备案主体实际所在地,系统会根据你选择的区域自动匹配当地管局规则。7、在填写负责人手机号、应急手机号、邮箱时,提示:不允许被多人使用?在填写负责人手机号、应急手机号、邮箱时,提示“不允许被多人使用”,一般是出现了个人信息混用的情况,即手机号/应急手机号/邮箱填写的是其他人的信息。 在平台备案系统中,人,手机号,应急手机号,邮箱均一一绑定,同一个人允许为多个小程序备案(同一主体下),可以提交一致的手机号、应急手机号及邮箱,但不能出现不同人共用手机号/邮箱的情况。 小程序负责人授权书、小程序主体负责人授权、互联网信息服务承诺书怎么填写?小程序备案材料示例及填写指引:小程序备案材料示例小程序信息填写相关1、什么是服务内容标识?怎么选?服务内容标识是通信管局对各个行业的分类,平台部分行业类目与管局行业类目名称不完全不一致,建议根据备案小程序实际运营内容尽可能选择对应的服务内容标识。 若你是个人主体,请勿选择经营性质、企业/单位性质、涉及有关主管部门审批等的内容,如不可选择“批发和零售业-零售批发”。若你是单位主体,应选择与主体经营范围、资质相符合的内容,如你是医药公司,可选择“医疗服务-医药”,并上传《互联网药品信息服务许可证》。非政府单位不得选择“政务民生”内容。2、小程序负责人具体是指谁?是小程序管理员吗?个人主体:小程序负责人应为主办人本人。 非个人主体:小程序负责人应为本单位/公司具体负责小程序管理、小程序维护的相关人员。 3、怎么判断备案小程序是否要选择前置审批项?可参考:前置审批类别及审批部门 4、小程序管理员信息填写时,负责人姓名已填写为小程序管理员的姓名,为什么还是提示:负责人与小程序管理员不一致?出现这种提示一般都是第三方服务商协助创建的小程序未完善管理员实名信息,需补充管理员实名信息后才能进行备案,补充指引参考: 小程序MP后台-成员管理-管理员-修改。验证原管理员-填写原管理员身份证信息-扫码验证。绑定新管理员-填写【原管理员的信息】并提交,即完成管理员实名信息补充。相关文档可参考:如何完善小程序实名信息 小程序备案常见问题:https://developers.weixin.qq.com/community/develop/article/doc/000ac251a9c340df3e6073ee566c13 最后祝大家,一次备案成功
2023-10-08 - 发现一个基础库2.6.6到最新2.18.0都存在的Framework inner error错误
定义一个Behavior后,在observers中监听某个属性并修改某个data值, 然后在wxml中嵌套wx:if/wx:else使用该属性作为自定义组件的属性, [渲染层错误] Framework inner error (expect FLOW_APPLY_PROPERTY but get another) [图片] 复现关键点:嵌套wx:if/wx:else进行使用
2021-06-30 - 画布canvas.draw方法callback真机下不执行的问题解决
ctx.setFillStyle('#F83'); ctx.fillRect(0, 0, 400, 800); ctx.draw(true,()=>{//第一次调用draw方法 if (hasImage) { wx.chooseImage({ count: 1, sizeType: ['original', 'compressed'], sourceType: ['album', 'camera'], success (res) { const tempFilePaths = res.tempFilePaths ctx.drawImage(tempFilePaths[0], 10, 10, 300, 300);//做了一个画图动作 ctx.draw(true, drawAfterToTempFile);//第二次调用draw方法,真机下drawAfterToTempFile方法会被执行 } }) } else {//完成最后绘制 //部分真机下drawAfterToTempFile回调不会被执行 ctx.draw(true, drawAfterToTempFile);//第二次调用draw方法 //猜测由于第二次调用draw方法与第一次调用之间画布没有任何其它动作,所以第二次draw方法并没有实际执行到触发callback回调的地方,导致callback看似失效。 //修改方法一:在第二次调用draw方法之前执行一些动作,例如:ctx.moveTo(0,0);ctx.fill(); //修改方法二:既然第二次调用draw方法没有任何绘制动作,那就直接调用执行drawAfterToTempFile()就行了,没必要包一个draw方法。 } }); var drawAfterToTempFile = function() { wx.canvasToTempFilePath({ canvasId: "myCanvasId", success(res) { console.log('绘制图片存为临时文件:', res.tempFilePath) }, fail(err) { console.log('绘制图片存为临时文件失败:', err); } }, _this) }
2019-06-21 - canvasToTempFilePath并发调用,偶现空白图片,各位有遇到吗?
批量处理图片压缩用到这个接口,新的canvas 2D接口。 先选择多张图片,然后一个for循环,drawImage,接一个canvasToTempFilePath。 为了支持并发,我也在wxml放了对应个数的canvas标签。 偶现第一张或第二张空白图,图大小2k左右。(正常图20K以上)。 亮代码: let photos = this.data.photos let l = photos.length for (let i = 0; i < l; i++) { let photo = photos[i] let canvasId = '#compress' + i wx.createSelectorQuery() .select(canvasId) .fields({ node: true, size: true, }) .exec(res => { const canvas = res[0].node const ctx = canvas.getContext('2d') canvas.width = 540 canvas.height = 540 const image = canvas.createImage() image.src = photo.path image.onload = () => { const width = image.width const height = image.height const sizeRatio = width > height ? width / height : height / width let sWidth, sHeight, sX, sY, dWidth, dHeight //这里一些处理图片尺寸的逻辑,省略... ctx.drawImage(image, sX, sY, sWidth, sHeight) wx.canvasToTempFilePath({ canvas, fileType: 'jpg', quality: 0.8, width: dWidth, height: dHeight, success: res => { photo.pathCompressed = res.tempFilePath } }) photo.k = photo.size //restore the bytes size photo.sizeOriginal = [width, height] photo.size = [dWidth, dHeight] } }) } 不知道去掉并发会不会解决问题,这种偶现的问题真难排查。
2020-04-19 - 将两个canvas中的数据放在一个canvas中合成一张图片
- 当前 Bug 的表现 canvasA、canvasB,在canvasB中进行无规则裁剪操作,使用canvasToTempFilePath API把canvasB指定区域的内容导出生成指定大小的图片,将导出的图片使用drawImage API绘制到canvasA中,再使用drawImage API绘制一张图片到canvasA中,两次都使用draw(true)进行绘制,最后使用canvasToTempFilePath API把canvasA指定区域的内容导出生成指定大小的图片。 // 将裁剪画布内容保存 wx.canvasToTempFilePath({ x: 0, y: 0, width: 320, height: 320, destWidth: 320, destHeight: 320, canvasId: 'clipCanvas', success: res => { //清洗相框画布 //frameCanvas.clearRect(0, 0, 320, 320); console.log('裁剪图:'+res.tempFilePath); // 绘制裁剪图到相框画布 frameCanvas.drawImage(res.tempFilePath, 0, 0, 320, 320); frameCanvas.draw(); // 绘制相框图到相框画布 console.log('相框图:'+this.data.framePic); frameCanvas.drawImage(this.data.framePic, 0, 0, 320, 320); frameCanvas.draw(true); // 保存相框画布内容为图片 wx.canvasToTempFilePath({ x: 0, y: 0, width: 320, height: 320, destWidth: 320, destWidth: 320, canvasId: 'frameCanvas', success: res => { console.log('合成图:'+res.tempFilePath); // 关闭裁剪层,更新数据 this.setData({ clipImagePath: res.tempFilePath, isClip: false }); // 将裁剪图绘制到产品上 this.drawClipImageToGoods(); } }, this); } }, this); [图片][图片] [图片] 真机测试iOS和Android都没有问题,开发工具有问题。
2019-03-06 - 小程序海报生成工具,可视化编辑直接生成代码使用,你的海报你自己做主
开门见山 工具地址 点我直达>>painter-custom-poster 由于挂载在github page上,打开速度会慢一些,请耐心等待或自行解决git网速问题 背景 在做小程序时候,我们经常会有一个需求,需要将小程序分享到朋友圈,但是朋友圈是不允许直接分享小程序,那我们还有其他的办法解决吗?答案肯定是有的,即 canvas 生成个性化海报分享图片到朋友圈 分析 小程序中有大量的生成图片需求,但是使用过 canvas 的人,都会发现一些难以预料的问题>>有关小程序的坑 直接在 canvas 上绘制图形,对于普通开发者来说代码会特别凌乱并且难以维护,经常会花费很久的时间去优化代码 不同的环境渲染问题,例如在开发者工具看起来好好的,一到 Android 真机,就出现图片不显示,位置不对应等等问题 解决 那可不可以开发一款生成海报的插件库呢? 首先,只需要提供一份简单的参数配置文件即可 解决掉小程序Canvas遇到的一些大大小小的坑 有严苛的测试环节,解决各种环境和各种机型遇到的问题,并提供稳定的线上版本 长期维护,并有专人更新迭代更新颖的功能 以上的要求当然是可以的,曾经的我也想尝试开发一款出来,但是后来尝试了几款现成的工具之后就放弃了,毕竟轮子这个东西,是需要不断维护更新的,另外已经有这么多优秀现成的插件了,我为何还要费力去写呢,贡献代码岂不更美哉,以下是我收集的几款 小程序生成图片库,轻松通过 json 方式绘制一张可以发到朋友圈的图片>>Painter 小程序组件-小程序海报组件>>wxa-plugin-canvas 微信小程序:一个 json 帮你完成分享朋友圈图片>>mp_canvas_drawer 我想干什么 唠了这么多,好像提供给大家插件就没我什么事情了…想走是不可能的 为了能够制作出更酷炫的海报,我思考了许久 虽然有了插件后,只需要提供配置代码就能够制作出一款海报来,但是我发现还是有些许问题 制作海报效率还是不够高,微调一个元素的大小和位置,就需要不断的修改保存代码,等待片刻,查看效果,真的烦 一个小小的位置调整可能就需要来回调整无数次,这种最简单的机械化劳动,这辈子是不可能的 拿着完美的稿子,递给设计师看,这个位置不对,这个线太粗,这个颜色太重…你信不信我打死你 对于一些精美复杂的海报,实现起来真的不太现实 那我需要怎么做呢,请点击这个链接体验>>painter-custom-poster 点击左侧例子展示中的任意一个例子,然后导入代码就能看到效果图,这下你应该能猜到了我的想法了 如何实现 刚开始我想用简单的html和css加拖动功能实现,通过简单尝试之后就放弃了,因为这个功能真的太复杂了,简单的工具肯定是不行的 中间这个计划停滞了很长时间,一度已经放弃 直到发现了这个库fabric.js,真的太太优秀了,赞美之词无以言表,唯一的缺点就是中文教程太少,必须生啃英文加谷歌翻译 fabric介绍,你可以很容易地创建任何一个简单的形状,复杂的形状,图像;将它们添加到画布中,并以任何你想要的方式进行修改:位置、尺寸、角度、颜色、笔画、不透明度等 How To Use 目前工具一共分成4部分 例子展示 用来将一些用户设计的精美海报显示出来,通过点击对应的例子并将代码导入画布中 画布区 显示真实的海报效果,画布里添加的元素,都可以直接用鼠标进行拖动,旋转,缩放操作 操作区 第一排四个按钮 复制代码 将画布的展示效果转化成小程序海报插件库所需要的json配置代码,目前我使用的是Painter库,默认会转化成这个插件的配置代码,将代码直接复制到card.js即可 查看代码 这个功能用不用无所谓,可以直观的看到生成的代码 导出json 将画布转化成fabric所需要的json代码,方便将自己设计的海报代码保存下来 导入json 将第3步导出的json代码导入,会在画布上显示已设计的海报样式 第二排五个按钮 画布 画布的属性参数 详解见下方 文字 添加文字的属性参数 详解见下方 矩形 添加矩形的属性参数 详解见下方 图片 添加图片的属性参数 详解见下方 二维码 添加二维码的属性参数 详解见下方 第三排 各种元素的详细设置参数 激活区 激活对象是指鼠标点击画布上的元素,该对象会被蓝色的边框覆盖,此时该对象被激活,可以执行拖动 旋转 缩放等操作 激活区只有对象被激活才会出来,用来设置激活对象的各种配置参数,修改value值后,实时更新当前激活对象的对应状态,点击其他区域,此模块将隐藏 快捷键 ‘←’ 左移一像素 ‘→’ 右移一像素 ‘↑’ 上移一像素 ‘↓’ 下移一像素 ‘ctrl + z’ 撤销 ‘ctrl + y’ 恢复 ‘delete’ 删除 ‘[’ 提高元素的层级 ‘]’ 降低元素的层级 布局属性 通用布局属性 属性 说明 默认 rotate 旋转,按照顺时针旋转的度数 0 width、height view 的宽度和高度 top、left 如 css 中为 absolute 布局时的作用 0 background 背景颜色 rgba(0,0,0,0) borderRadius 边框圆角 0 borderWidth 边框宽 0 borderColor 边框颜色 #000000 shadow 阴影 ‘’ shadow 可以同时修饰 image、rect、text 等 。在修饰 text 时则相当于 text-shadow;修饰 image 和 rect 时相当于 box-shadow 使用方法: [代码]shadow: 'h-shadow v-shadow blur color'; h-shadow: 必需。水平阴影的位置。允许负值。 v-shadow: 必需。垂直阴影的位置。允许负值。 blur: 必需。模糊的距离。 color: 必需。阴影的颜色。 举例: shadow:10 10 5 #888888 [代码] 渐变色支持 你可以在画布的 background 属性中使用以下方式实现 css 3 的渐变色,其中 radial-gradient 渐变的圆心为 中点,半径为最长边,目前不支持自己设置。 [代码]linear-gradient(-135deg, blue 0%, rgba(18, 52, 86, 1) 20%, #987 80%) radial-gradient(rgba(0, 0, 0, 0) 5%, #0ff 15%, #f0f 60%) [代码] !!!注意:颜色后面的百分比一定得写。 画布属性 属性 说明 默认 times 控制生成插件代码的宽度大小,比如画布宽100,times为2,生成的值为200 1 文字属性 属性名称 说明 默认值 text 字体内容 别跟我谈感情,谈感情伤钱 maxLines 最大行数 不限,根据 width 来 lineHeight 行高(上下两行文字baseline的距离) 1.3 fontSize 字体大小 30 color 字体颜色 #000000 fontWeight 字体粗细。仅支持 normal, bold normal textDecoration 文本修饰,支持none underline、 overline、 linethrough none textStyle fill: 填充样式,stroke:镂空样式 fill fontFamily 字体 sans-serif textAlign 文字的对齐方式,分为 left, center, right left 备注: fontFamily,工具中的第一个例子支持文字字体,但是导入小程序为什么看不到呢,小程序官网加载网络字体方法>> 加载字体教程>> 文字高度 是maxLines lineHeight2个字段一起计算出来的 图片属性 属性 说明 默认 url 图片路径 mode 图片裁剪、缩放的模式 aspectFill mode参数详解 scaleToFill 缩放图片到固定的宽高 aspectFill 图片裁剪显示对应的宽高 auto 自动填充 宽度全显示 高度自适应居中显示 Tips(一定要看哦~) 本工具不考虑兼容性,如发现不兼容请使用google浏览器 painter现在只支持这几种图形,所以暂不支持圆,线等 如果编辑过程,一个元素被挡住了,无法操作,请选择对象并通过[ ]快捷键提高降低元素的层级 文字暂不支持直接缩放操作,因为文字大小和元素高度不容易计算,可以通过修改激活栏目maxLines lineHeight fontSize值来动态改变元素 如发现导出的代码一个元素被另一个元素挡住了,请手动调整元素的位置,json数组中元素越往后层级显示就越高,由于painter没有提供层级参数,所以目前只能这样做 本工具导出代码全是以px为单位,为什么不支持rpx, 因为painter在rpx单位下,阴影和边框宽会出现大小计算问题,由于原例子没有提供px生成图片方案,可以下载我这里修改过的demo>>Painter即可解决 文本宽度随着字数不同而动态变化,想在文本后面加个图标根据文本区域长度布局, 请参考Painter文档这块教程直接修改源码 由于本工具开发有些许难度,如出现bug,建议或者使用上的问题,请提issue,源码地址>>painter-custom-poster 海报贡献 如果你设计的海报很好看,并且愿意开源贡献,可以贡献你的海报代码和缩略图,例子代码文件在example中,按顺序排列,例如现在库里例子是example2.js,那你添加example3.js和example3.jpg图片,事例可以参考一下文件夹中源码,然后在index.js中导出一下 导出代码 代码不要格式化,会报错,请原模原样复制到json字段里 生成缩略图 刚开始我想在此工具中直接生成图片,但是由于浏览器图片跨域问题导致报错失败 所以请去小程序中生成保存图片,图片质量设置0.2,并去tinypng压缩一下图片 找到painter.js,替换下边这个方法,可以生成0.2质量的图片,代码如下 [代码] saveImgToLocal() { const that = this; setTimeout(() => { wx.canvasToTempFilePath( { canvasId: 'k-canvas', fileType: 'jpg', quality: 0.2, success: function(res) { that.getImageInfo(res.tempFilePath); }, fail: function(error) { console.error(`canvasToTempFilePath failed, ${JSON.stringify(error)}`); that.triggerEvent('imgErr', { error: error }); } }, this ); }, 300); } [代码] TODO 颜色值选择支持调色板工具 文字padding支持 缩放位置弹跳问题优化 假如需求大的话,支持其他几款插件库代码的生成 ~ 创作不易,如果对你有帮助,请给个星星 star✨✨ 谢谢 ~
2019-09-27 - Painter 一款轻量级的小程序海报生成组件
生成海报相信大家有的人都做过,但是canvas绘图的坑太多。大家可以试试这个组件。然后附上楼下大哥做的可视化拖拽生成painter代码的工具:链接地址https://developers.weixin.qq.com/community/develop/article/doc/000e222d9bcc305c5739c718d56813
2019-09-27 - 滥用分享行为
违规内容 小程序提供的服务中,不得存在滥用分享违规行为。如强制用户分享行为;分享立即获得利益的诱导行为;通过明示或暗示的样式来达到诱导分享目的;以及蹭流量诱导分享获得红包封面的行为等。包括但不限于以下类型: ▶1 强制分享后才能继续下一步操作。包括但不限于分享后才可解锁功能或能力,分享后才可查阅、下载图片或视频等。 [图片] ▶2 以分享后无需互动或无需深度互动即可获得利益的方式诱导分享至群或好友。“深度互动“是指被分享者理解被分享内容并主动参与活动或业务流程,从而执行的进入页面、点击等一系列相关操作。“利益”包括但不限于:现金奖励、实物奖品、虚拟奖品(红包、优惠券、代金券、积分、话费、流量、信息等)。 2.1 无互动分享获利:诱导分享至群或好友,完成分享操作立即可获得续命机会/积分/金币等。 [图片] 2.2 无深度互动分享获利:诱导分享至群或好友,被分享者仅需访问小程序,分享者即可获得利益等。 [图片] ▶3 通过利益诱导分享至朋友圈,包括但不限于:现金奖励、实物奖品、虚拟奖品(红包、优惠券、代金券、积分、话费、流量、信息等)。 [图片] ▶4 客服消息推送外链内容或者微信公众帐号文章诱导分享至朋友圈。 [图片] ▶5 存在暗示性诱导分享内容,包括但不限于红点提醒等。 [图片] ▶6 虚拟业务小程序中存在被分享者可获利的诱导增加新用户行为。 [图片] ▶7 小程序中存在未经用户允许或授权,披露他人好友关系或用户隐私给陌生人关系(非微信好友关系)的诱导分享行为。 [图片] ▶8 小程序存在过度营销分享行为:如果同一主体、关联主体或者同一帐号、关联帐号或平台认为有联合行动的多个帐号下的小程序分享量过大且分享转化率过低,将会被认为可能存在过度营销分享行为,相关小程序的跳转至APP的能力、分享能力等将会被自动限制,同时小程序关联的微信开放平台开发者帐号分享小程序能力也将被自动限制。 [图片] ▶9 小程序分享活动未清晰明确活动规则,存在误导用户的行为。包括但不限于以下类型: 9.1 小程序内分享活动未明确告知用户活动完整信息,包括不限于整体规则、活动步骤和互动利益结果。在小程序分享活动流程中以概率事件或者不确定的获利结果诱导用户参与。 [图片] 9.2 小程序内分享活动存在标题党式信息进行夸大误导宣传,无法保证活动信息的真实性和准确性。 [图片] 9.3 小程序内分享活动相关信息未在页面显著标识,或使用小微字体、灰色字体等让用户难以注意、识别等方式影响用户获取信息和阅读的行为。 9.4 小程序内分享活动收益和最终收益要求用户长期参与才可获取,不满足即时性要求。 [图片] ▶10 小程序内组队组团类分享活动的参与总人数未限制在5人内。 [图片] 处理规则 一经发现将根据违规程度对该小程序阶梯封禁分享能力或朋友圈二维码识别能力直至封号处理。
2021-12-13 - 2021年税局将对违规零申报零容忍!如何正确零申报?赶紧看!
2021年税局将对违规零申报零容忍!如何正确零申报?赶紧看! 企业零申报有什么要求?长期零申报有什么后果?今天一次性说清楚! 01 什么样的企业才能零申报? 企业在初创期,经常会遇到 “零申报”的情况,那么如何判断自己所在的企业是否可以零申报呢? 先来看一下零申报的定义: 零申报,是指一般纳税人的纳税申报既无销项税额也无进项税额,应纳税额为“零”,通俗地讲,纳税申报的所属期内(如11月申报所属期为10月份)没有发生应税收入(销售额),同时也没有应纳税额的情况,称为零申报。 关于2021年企业是否可以做零申报处理的判断标准,税务局是这样规定的: 1.增值税零申报:小规模纳税人应税收入为0,一般纳税人当期无销项税额,且无进项税额。 2.企业所得税零申报:纳税人当期未经营,收入/成本基本为0。 3.其他税种零申报:计税依据为0时。 简单地说就是:在纳税申报所属期内,收入、成本和费用均为0,企业才能零申报。 02 为什么会出现零申报? 是否正常? 情况1.工商登记改革后,市场主体办理了营业执照,但由于存在未能取得相关部门审批或者尚不确定从事何种经营行为等多种原因,较长时间没有发生经营行为的情况增多,导致出现零申报。 不要担心,这种情况零申报属于正常申报,不会有问题。 情况2.纳税人开业后处于筹建期,但并不意味着纳税人可以随意申报,根据相关政策,企业处于筹建期的,应按相关政策规定进行费用归集和税前扣除,准确判断筹办期结束时间,正确进行申报。 情况3.成本费用>收入合计,纳税人为避免麻烦,感觉反正都是亏损,即使有收入也违规进行零申报。 错!这种处理方式可能会将亏损人为转移到以后年度申报,造成人为延长亏损可弥补期间,会承担不利后果。 情况4.当期存在收入,但为了偷逃税款,进行涉嫌虚假零申报。 真这样操作,就出大问题了!这种行为涉嫌虚假申报造成少缴税款的,还涉嫌偷税,要承担相应的法律责任。 03 企业长期零申报会有什么后果 1、会被税务机关纳入重点监控名单,甚至会被税务机关进行核查。 2、有收入及应纳税款却办理零申报,属于偷税! 根据《税收征收管理法》第六十四条: 纳税人、扣缴义务人编造虚假计税依据的,由税务机关责令限期改正,并处五万元以下的罚款。 纳税人不进行纳税申报,不缴或者少缴应纳税款的,由税务机关追缴其不缴或者少缴的税款、滞纳金,并处不缴或者少缴的税款百分之五十以上五倍以下的罚款。 3、非正常原因,一个评价年度增值税连续3个月或者累计6个月零申报的,不能评为A级纳税人。 提供虚假申报材料享受税收优惠政策的,直接降为D级纳税人! 4、长期零申报,并且持有发票的纳税人,发票不仅会降版降量,还会被要求去税务机关对发票的使用情况进行核查。 5、长期零申报超过6个月,可能会被列入“非正常户”,甚至还可能会被吊销营业执照。 04 零申报常见的5个案例 案例1:取得免税收入只需零申报? 某企业的会计来到办税服务厅,咨询零申报的问题。问:“我们企业是增值税小规模纳税人,已经按规定办理增值税减免税备案,2018年第一季度销售蔬菜收入10万元,全部符合免税条件,可以零申报吗?” 已经进行减免税备案的企业可以零申报么?不少纳税人会有这样的疑问。 答:这种情况是不可以零申报的。按照相关规定,办理增值税减免备案的纳税人应纳税额为零,但并不代表该纳税人可以零申报,而是应该向税务机关如实申报。 案例2:月销售额未达15万元只需零申报? “我们公司是增值税小规模纳税人,当月销售收入20000元,可享受小微企业增值税免税的优惠政策,可以零申报吗?” 答:按照相关规定,在享受国家税收优惠的同时,应该向税务机关如实申报。 案例3:当期未取得收入只需零申报? “我们公司刚刚开业,这个月购买设备取得增值税进项发票5份,进项税额8500元,已经做了认证,但是没有取得收入,请问可以零申报吗?” 答:虽然没有取得销售收入,但是存在进项税额,如果该纳税人因未发生销售办理零申报,未抵扣进项税额会造成逾期抵扣而不能抵扣。 案例4:企业长期亏损,企业所得税可零申报? “我们公司长期亏损,没有企业所得税应纳税款,企业所得税可以零申报吗?” 答:企业的亏损是可以向以后五个纳税年度结转弥补的,如果做了零申报,则第二年盈利就不能弥补以前年度亏损了,会造成企业损失。如果当年做了企业所得税零申报,却将亏损延长到以后年度扣除,是违反税法规定的,所以亏损企业要慎重零申报。 案例5:筹建期可做零申报? “我们是筹建期的新办工业企业,是增值税一般纳税人,当期未发生销售,也未认证增值税进项发票,可以进行增值税零申报吗?” 答:筹建期的纳税人次月申报增值税时可以办理零申报。如果当期该纳税人有增值税进项发票,且已在当期进行认证,则不能进行零申报,需按规定填写当期进项税额。 最后提醒: 免税、无应纳税款与零申报,虽然最后结果都是应纳税额为零,但是区别很大,纳税人要正确进行零申报。违规零申报会造成企业利润损失,更会影响企业信用,增加税收风险。 我们致力于为广大中小微企业提供注册公司、代理记账等专业工商财税服务,如您有需求请与我们联系!
2021-10-20 - 流量主结算规则及流程
1.结算规则 腾讯公司将在次月1号和次月15号前(如遇法定节假日,将会推迟),分别对上半月和下半月收入进行结算,并发送结算单到你的结算单邮箱中。 例如:12月1日结算11月1日-15日的收入,12月15日结算11月16日-11月30日的收入 若你是企业用户,需要按结算单邮件的要求邮寄与结算金额等额的增值税专用发票给腾讯公司。腾讯公司将在收到正确的发票及结算单后30个工作日内将结算金额打入你的结算银行账户。 若你是个人用户,无需邮寄发票,腾讯公司将在结算日后15个工作日内根据结算金额为您代扣代缴个税,并接受税务局委托,为您代征增值税和附加税费,最终将剩余金额打入你的结算银行卡。附加税费包括:城市维护建设税、教育费附加及地方教育附加。 温馨提示:流量主结算及付款是按结算主体的,结算单包含了同一收款主体在微信开通的全部流量主账号在当月应获取的广告收入。 2.结算流程 企业账号流量主: 企业账号需要按结算单金额开具增值税专用发票,与结算单一并邮寄至指定地址,腾讯公司收到完整的合格的资料后将在30个工作日内将结算金额打入对应的结算银行账户。 企业流量主申请结算所需邮寄资料: 1)邮寄增值税专用发票发票联及抵扣联,须加盖公司发票专用章。 2)邮寄与发票对应月份的结算单,须加盖公司公章。 个人账号流量主: 个人账号无需邮寄发票,腾讯公司将在结算日后15个工作日内根据结算金额,为您代扣代缴个税,并接受税务局委托,为您代征增值税和附加税费,最终将剩余金额打入对应的结算银行卡。 扣税说明: 如果您是个人合作伙伴,腾讯公司将为您代征增值税和附加税费,并代扣代缴个人所得税。 附: 个人用户的收入属个人劳动报酬,依据国家关于税法规定及税局征管要求,计算如下: 增值税及附加税费计算方法 每次劳务收入超过500元(包含本数),腾讯代征3%的增值税,并按照增值税应纳税额代征附加税费,适用综合税率为6%(即,按照一般综合税率12%,实行减半征收)。如因税法或税局征管要求调整,需要更改上述规则的,腾讯公司会另行通知。 增值税应纳税额 = 劳务报酬(大于等于500元)/(1+3%) x 3% 附加税费应纳税额 = 增值税应纳税额 x 6% 个人所得税计算方法 1)应纳税所得额的计算 劳务报酬所得以个人当月取得的同一项目下的多次收入合并为每次收入所得,定额或定率减除规定费用后的余额为应纳税所得额。 每次劳务报酬收入在扣减已缴纳的增值税和附加税费后,不超过4000元的,定额减除费用800元;每次在4000元以上的,定率减除20%的费用。即,如下公式 应纳税所得额 = (劳务报酬-增值税-附加税费)(少于4000元) - 800元 应纳税所得额 = (劳务报酬-增值税-附加税费)(超过4000元)×(1 - 20%) 2)应纳税额的计算 应纳税额=应纳所得税额×适用税率-速算扣除数 劳务报酬所得适用超额累进税率,累进税率分别为20%、30%和40%,即:纳税人每次劳务报酬所得的应纳税所得额不超过20000元的部分,适用20%的税率;超过20000元至50000元的部分,适用30%的税率;超过50000元的部分,适用40%的税率。具体可以参考以下税率表: [图片] 案例一、A流量主当月收入为400元,则 该流量主收入少于500元,腾讯公司不代征增值税和附加税费。 且该收入扣减800后,个税的应纳税所得额为0,则腾讯公司不代扣代缴个税 案例二、A流量主当月收入为800元,则 增值税应纳税额 = 800 / (1+3%) x 3% = 23.3元 附加税费应纳税额 = 23.3 x 6% = 1.4元 流量主在扣除增值税、附加税费以及800后,个税的应纳税所得额为0,则腾讯公司不代扣代缴个税 因此腾讯公司代征增值税23.3元,代征附加税费1.4元,不代扣代缴个税 案例三、B流量主当月收入为3090元,则 增值税应纳税额 = 3090 / (1+3%) x 3% = 90元 附加税费应纳税额 = 90 x 6% = 5.4元 个税应纳税所得额=3090 - 90 - 5.4 -800 =2194.6元 个税应纳税额 = 2194.6×20%=438.92元 因此腾讯公司代征增值税90元,代征附加税费5.4元,代扣代缴个税438.92元 案例四、C流量主当月收入为10300元,则 增值税应纳税额 = 10300 / (1+3%) x 3% = 300元 附加税费应纳税额 = 300 x 6% = 18元 个税应纳税所得额=(10300-300-18)×(1-20%)= 7985.6元 个税应纳税额 = 7985.6×20%=1597.12元 因此腾讯公司代征增值税300元,代征附加税费18元,代扣代缴个税1597.12元 案例五、D流量主当月收入为82400元,则 增值税应纳税额 = 82400 / (1+3%) x 3% = 2400元 附加税费应纳税额 = 2400 x 6% = 144元 个税应纳税所得额=(82400-2400-144)×(1-20%)= 63884.8元 个税应纳税额 = 63884.8×40% - 7000 =18553.92元 因此腾讯公司代征增值税2400元,代征附加税费144元,代扣代缴个税18553.92元 3. 您的义务 您需自行履行年底个人所得税综合申报义务,以及自行承担个税税款的多退少补,您个税税款的调整或其他相关税费的缴纳(如有)与腾讯公司无关。 4. 关于代征税款的公告 根据《中华人民共和国税收征收管理法》及其实施细则等税收有关规定(以下简称“税收政策规定”),本公司受税务机关委托,对通过本公司获取劳务收入(包括劳务报酬、稿酬支出、特许权使用费等)发生应税项目的个人(以下简称“纳税人”),代征纳税人所获取劳务收入应缴纳的增值税、城市维护建设税、教育费附加及地方教育费附加,计税依据及税率按照相关税收政策规定执行。除此之外的税费代扣代缴以及结算事宜仍按照相关合同约定执行,纳税人需按照税收政策规定履行其纳税相关义务,以及自行承担补缴或退还的相关税款,税务机关对于纳税人税款的调整与腾讯公司无关。 该公告自2019年11月1日起执行。
2020-11-10 - 微信普通商户分账税收的问题?
微信普通商户分账功能,收入的资金,这个税是怎么算的?商户只需要承担分给自己的钱的税?还是需要承担整个订单的税? 例如:用户支付1000元,微信支付手续费6元,商户(分账方)收入94元,收款方(普通用户A)收入100元,收款方(普通用户B)收入800元
2020-03-19 - ios下scroll-view组件内部元素使用z-index失效?
官方是否加了-webkit-overflow-scrolling: touch; ?
2019-09-06 - 关于小程序安全测试的通知
为进一步提升小程序的安全性和用户体验,目前平台正在对提审的小程序进行安全测试,以便能及时帮助开发者发现小程序可能存在的安全漏洞。 一、背景介绍 小程序在开发过程中若存在安全漏洞的情况,如敏感数据篡改、拖库信息泄露、WEB攻击等,容易造成小程序的安全隐患,可能带来代码易被反编译,核心业务逻辑被破译,算法易被二次打包等风险。因此,平台将对提审的小程序进行安全测试,以协助开发者提升小程序服务的安全性。 二、测试过程 安全测试过程中,平台会模拟真实业务场景,向提审小程序的后台发送服务请求,服务器会收到来自平台(显示为:Tencent Security Team,请求IP为106.55.202.118;113.96.223.69;125.39.132.125)的测试请求。测试均以较低速率进行,正常情况下不会影响小程序的正常服务。特殊情况下如有必要,开发者可基于自身业务情况,对相应请求加以限频,如有其他疑问,欢迎随时通过官方社区进行反馈。 三、测试结果 安全测试的结果是小程序审核的重要参考。若小程序在安全测试中被检测到存在安全漏洞,该小程序的审核将不予通过。开发者可根据修改指引,对安全漏洞进行相应修复后,再重新进行提审。
2021-11-01 - 小程序多级分销知多少
微信小程序开发者对于小程序生态内的多级分销存在疑惑,今天小编就跟大家一起来梳理下关于多级分销的几个关键点,帮助大家了解哪些在平台内是违规分销行为。 什么是违规分销?三级或三级以上的分销模式就属于违规分销。微信生态拒绝违规分销行为。 二级分销模式:A(厂家)→B(代理) 三级分销模式:A(厂家)→B(代理)→C(代理) 对违规分销行为有初步的了解后,我们来看看微信小程序中常见的具体违规分销案例: l以电商小程序为载体,通过培养用户粉丝,制定分级佣金的形式进行多级分销的行为 [图片] l以“无实物商品”、“虚拟币”多层级分销盈利的庞氏骗局 [图片] l通过购买实物商品获得会员资格发展下线,并以直接或间接发展人员数量和销售业绩作为计酬依据。 [图片] l打着“国家扶持”“民族资产解冻”“民族大业”等旗号的“国家工程” [图片] l以共享经济、物联网、中国梦等名义,大肆发展下线会员牟取暴利 [图片] l免费旅游”“边旅游边赚钱”的旅游骗局,以巨额回报为噱头的金融诈骗 [图片] l以少量资金投入,通过不断的拆分裂变,获得高额盈利吸引用户参与。 [图片]
2020-03-18 - 小程序生成分享图片方案分享
小程序生成图片分享朋友圈 小程序开发者都希望自己的小程序得以广泛传播,因为不少小程序都设计了很多转发激励行为,但分享小程序到朋友圈(或其他外部平台)一直是一个难题。一个常见的方案就是生成分享海报、分享图片。但生成分享图片在技术上却也是一个难题。 技术选型 目前常用技术方案基本分为三种: 使用 canvas 绘图并生成 使用后端绘图库进行绘制,返回给小程序端 使用服务端开一个浏览器进行 HTML 渲染,并截图返回给小程序端 第一种方案:要求较高,canvas 和纯 html 布局相去甚远,零基础学习成本较高,而且在不同的微信浏览器中效果不可预期,想短时间内做出精美可控的生成图片不容易。实操的时候发现了一个非常麻烦的事情:网络图片或者 base64 图片都无法直接在 canvas 里渲染显示,要先下载好传进去。 第二种方案:后端库可以完成较为简单的需求,但字体加载、阴影、圆角、透明等方案效果需要精调,如果文字需要截断或动态伸缩长度时并不容易处理。图片的截取和伸缩自适应也不灵活。而且选用这种方案相当于需要把 UI 布局的工作丢给后端工程师去解决,这不是他们擅长的范围,效果未必会好。 第三种方案:页面的绘制方面,纯前端技术即可完成,难度低,完成度高,但是需要在后端起一个 node 服务开启 puppeteer 去控制服务端 Chrome 浏览器。这种方案的缺点就是成本太高,我们和业界同行都测算过,结果差不多:4 核 16G 的服务器生成图片的 QPS 大概只有 10-20,相当于一秒钟较差情况只能生成 10 张图片,这对于突发的大量分享需求并不能满足,而且这种配置的服务器,不能部署其他服务,只跑这个服务就会用尽大部分资源。 费用上:只单单算 5M 带宽的服务器费用一个月就要 700+ 人民币,流量和图片托管费用另算。此方案的最小化实现:至少需要 1 核 2G 的服务器才能较为顺畅地完成一次顺利截图,但是还是要处理浏览器无响应假死等情况,较为复杂。但综合来看,这种方案是效果最好最为灵活的。 快海报小程序分享图生成服务 快海报 kuaihaibao.com 是专门提供小程序分享海报生成服务的,技术上用的就是上面所述的第三种方案,但是只需要调用他的 API 就可以完成,不需要开发者维护 puppeteer 和 headless Chrome,而且成本较低,一张分享图的最低生成成本是 0.01 元。 其实真正集成到自己的服务中时,平均成本要比这个低,因为有些生成的图片的二维码,如果不带用户个人信息(不给分享的用户返利)时,可以生成一次之后永久缓存起来,其他用户再分享同一个东西都用缓存好的图片,综合成本就降下来了。 算一下成本: 比方说一个刚起步的小程序日活 5000(对于刚起步的小程序其实已经很高了吧) 假设有 5% 的用户生成分享图 也就是每天生成 250 张分享图,一个月会生成 7500 张分享图 这样的话每个月成本就是 75 元人民币左右,相比 700+ 人民币的服务器成本省太多了。这是测算比较高的指标,而且是完全不应用缓存方案的情况。 如果你的小程序还处于冷启动的阶段: 日活 500 假设有 5% 的用户生成分享图 也就是每天生成 25 张分享图,一个月会生成 750 张分享图 每月成本 7.5 元。比 1 核 2G 的最小化自部署方案也要便宜。但带来的收益是无穷的,750 张分享图发到朋友圈,每张分享图 1000 受众浏览,一个月就是将近 750000 人次分享受众。 调用 API 首先去 https://kuaihaibao.com/ 注册账号,验证邮箱激活之后,其实就可以先测试用了,每个账号有 100 次测试额度,测试生成的图片带水印。 网站左侧的 [文档] 页面能找到集成文档,非常简单,一共就只有一个核心 API,通过 HTTP 调用的。 先在【开发】->【设置】中激活 token [图片] 目前支持三种生成方式: 直接传 URL 进行渲染 传 HTML 渲染 使用内置的模板进行选择 这里演示使用模板渲染,因为比较简单 打开 【开发】->【模板】中,找到自己喜欢的模版。因为我只想生成一个简单的分享图片,所以最简单的方式就是使用网站内置的模版,内置模板目前有 8 款,应该能满足大部分小程序的需求了,抽奖、打卡、图文、文字、电商都有,改一改文案和图片就可以了。 我选了这个抽奖模板: [图片] 按照 https://kuaihaibao.com/doc/docs/template/kzccda95.html 文档描述的 JSON 改成我需要的: [代码]{ "backgroundColor": "#fafafa", "backgroundImage": "", "user": { "avatar": "https://khb-sample.oss-cn-shanghai.aliyuncs.com/sample/girl_2.jpg", "nickname": "我是测试账号", "color": "#666" }, "tip": "邀请你来抽奖", "qrcode": "https://khb-sample.oss-cn-shanghai.aliyuncs.com/sample/sample_qr_0.png", "records": [ { "title": "一等奖", "desc": "2019 年 11 月 16 日 10:00 开奖", "image": "https://s3.cn-northwest-1.amazonaws.com.cn/res.weiyidan.com/production/10000002/4109f8e51a8f43b9816dbc8fe636e22a.jpeg" } ], "brand": "我的测试抽奖小程序", "slogan": "快来和我一起抽吧!", "metaColor": "#999" } [代码] 然后打开 Terminal 做一次请求试试: [代码]curl -X "POST" "https://api.kuaihaibao.com/services/screenshot" \ -H 'Authorization: Bearer 这里写你自己的 token' \ -H 'Content-Type: application/json; charset=utf-8' \ -d /pre>{ "template": "kzccda95", "data": { "qrcode": "https://khb-sample.oss-cn-shanghai.aliyuncs.com/sample/sample_qr_0.png", "records": [ { "title": "一等奖", "desc": "2019 年 11 月 16 日 10:00 开奖", "image": "https://s3.cn-northwest-1.amazonaws.com.cn/res.weiyidan.com/production/10000002/4109f8e51a8f43b9816dbc8fe636e22a.jpeg" } ], "tip": "邀请你来抽奖", "slogan": "快来和我一起抽吧!", "metaColor": "#999", "brand": "我的测试抽奖小程序", "backgroundImage": "", "backgroundColor": "#fafafa", "user": { "avatar": "https://khb-sample.oss-cn-shanghai.aliyuncs.com/sample/girl_2.jpg", "nickname": "我是测试账号", "color": "#666" } } }' [代码] 返回了结果: [代码]{ "success": true, "data": { "name": "iPhone 5", "image": "https://khb-test-oss.oss-cn-shanghai.aliyuncs.com/screenshot/4fa63f2a3605cbdece90c659cbccea619d9cf9fa?x-oss-process=style/test_watermark" } } [代码] 打开图片地址看看: [图片] 速度很快,图片很漂亮,只是中间带水印,充值后成为付费用户,再生成的图片水印就自动取掉了。 后端集成 这里参考快海报官方给的最佳实践的逻辑参考图: [图片] 所以后端只需要做一件事,就是提供一个 API 给客户端用,这个 API 被调用的时候去请求快海报的服务器,再把结果返回给小程序就好了。
2020-10-20 - 为什么这个个人小程序可以识别二维码进行支付呢?这种怎么实现?
[图片]
2020-08-11 - 小程序如何唤醒个人收款码?
小程序获取个人收款码接口是哪个 ? [图片][图片][图片]
2020-12-19 - wx.getUserProfile 修改方案
最近微信关于用户头像、昵称授权又做了调整。 点击查看原文 解决方案思路如下: 1、在util.js里写一个通用函数,函数的功能是,用户授权成功,将头像昵称,存入服务器,同时,在本地缓存设置标记用户授权成功。 [代码]// util.js function getUserProfile() { wx.getUserProfile({ desc: '用于完善个人资料', success: function(res) { var userInfo = res.userInfo // console.log('userInfo==>', userInfo) wx.setStorageSync('storage_info', 1);//本地标记 //下面将userInfo存入服务器中的用户个人资料 //... }, fail() { console.log("用户拒绝授权") } }) } [代码] 2、在需要用户授权时,做判断,如果本地已经授权,直接执行正常业务逻辑。如果未授权,则提示授权。 [代码] chooseTap: function(e) { //如果未授权,就提示授权,如果授权了,就执行正常的业务逻辑 if (!wx.getStorageSync('storage_info')) { util.getUserProfile() return } //下面是正常业务逻辑 //... } [代码] 3、在用户进入小程序时,从服务器获取用户信息(如果已授权,就有之前存入的头像,昵称),在页面展示用户信息。 完成以上3步,就全部完成了。 说明:把授权状态存入缓存的好处是:因为wx.getUserProfile每次都会弹授权框,如果每次都让用户授权,体验不好。如果只授权一次,存入服务器,以后都展示的是这个用户信息。在用户微信改名,改头像后,服务器储存的用户信息还是以前的。 所以,把授权状态存入缓存,起码在用户更换手机,或者删除过小程序,又进来时,会弹出授权提示,可以让用户重新授权,将服务器里用户的信息进行一次更新。
2021-04-11