
微信小程序下载pdf文件,自动保存.bin的文件,无法查看
微信小程序下载pdf文件,自动保存.bin的文件,无法查看
createTime: 1595323383
filePath: "http://store/wx6b5ff8d1bf9943cf.o6zAJsyHF2wfOo2MSt2yxt16Aky0.bTRP5h5ocYto875c25ee072d790cff21eff14716d9aa.bin"
size: 5004538
怎么解决啊
微信小程序下载pdf文件,自动保存.bin的文件,无法查看
createTime: 1595323383
filePath: "http://store/wx6b5ff8d1bf9943cf.o6zAJsyHF2wfOo2MSt2yxt16Aky0.bTRP5h5ocYto875c25ee072d790cff21eff14716d9aa.bin"
size: 5004538
怎么解决啊
收起阅读 »
DCloud 云服务如何开具发票
【公告】自2024年8月15日起,DCloud将升级开票系统 查看详情
开票说明
2023年3月6日之后申请的发票可以在“发票申请记录”中下载,不再发送邮件。
- 如开发者需要, DCloud 将开具项目为“*信息技术服务*软件服务费”的增值税发票。开发者登录开发者中心,在“个人中心”-“发票申请”页面可自助申请。
- DCloud 收到开票申请后,将在7个工作日内开具增值税普通发票 或 增值税专用发票的电子发票,电子发票开票成功后,可以“发票申请记录”中下载。如有疑问,可发邮件到 fapiao@dcloud.io 咨询。
自助申请发票流程
-
登录开发者中心,进入“个人中心”-“发票申请”页面,勾选需要开票的订单,然后点击“开票”。
-
开票成功后,在“查看开票记录”中下载发票
发票抬头说明
自2024年8月15日起,DCloud升级开票系统,升级后系统开票规则如下:
- 发票抬头须与账号实名认证主体一致,实名认证主体为 A 公司的账号,不可以申请开具 B 公司的发票。
- 个人作为应用协作者,为应用属主代为下单“云打包、插件购买、uni安全”业务,且应用属主账号已完成企业实名认证,则个人可选择相应订单开具应用属主的实名认证企业抬头发票;否则,个人认证账号仅能开具个人发票,不可开具公司发票;如您需要开具企业发票,您可前往账号中心完成企业实名认证升级后再申请开票,详见实名认证变更流程。
个人用户如何开具企业发票
只有以下两种场景,个人认证用户可以开具企业发票。其它场景请将账号变更为企业认证。
- 个人认证用户选择付费类目为“云打包”,“插件”,“uni安全”业务时,可开具协作应用属主的实名抬头发票。
- 使用对公付款支付,可开付费公司抬头的发票。
注意: 北京市税务新发行的ukey开具的电子发票没有公司发票专用章,税务局是认可的,如有疑问可咨询当地税务局。国家税务总局公告2020年第1号
【公告】自2024年8月15日起,DCloud将升级开票系统 查看详情
开票说明
2023年3月6日之后申请的发票可以在“发票申请记录”中下载,不再发送邮件。
- 如开发者需要, DCloud 将开具项目为“*信息技术服务*软件服务费”的增值税发票。开发者登录开发者中心,在“个人中心”-“发票申请”页面可自助申请。
- DCloud 收到开票申请后,将在7个工作日内开具增值税普通发票 或 增值税专用发票的电子发票,电子发票开票成功后,可以“发票申请记录”中下载。如有疑问,可发邮件到 fapiao@dcloud.io 咨询。
自助申请发票流程
-
登录开发者中心,进入“个人中心”-“发票申请”页面,勾选需要开票的订单,然后点击“开票”。
-
开票成功后,在“查看开票记录”中下载发票
发票抬头说明
自2024年8月15日起,DCloud升级开票系统,升级后系统开票规则如下:
- 发票抬头须与账号实名认证主体一致,实名认证主体为 A 公司的账号,不可以申请开具 B 公司的发票。
- 个人作为应用协作者,为应用属主代为下单“云打包、插件购买、uni安全”业务,且应用属主账号已完成企业实名认证,则个人可选择相应订单开具应用属主的实名认证企业抬头发票;否则,个人认证账号仅能开具个人发票,不可开具公司发票;如您需要开具企业发票,您可前往账号中心完成企业实名认证升级后再申请开票,详见实名认证变更流程。
个人用户如何开具企业发票
只有以下两种场景,个人认证用户可以开具企业发票。其它场景请将账号变更为企业认证。
- 个人认证用户选择付费类目为“云打包”,“插件”,“uni安全”业务时,可开具协作应用属主的实名抬头发票。
- 使用对公付款支付,可开付费公司抬头的发票。
注意: 北京市税务新发行的ukey开具的电子发票没有公司发票专用章,税务局是认可的,如有疑问可咨询当地税务局。国家税务总局公告2020年第1号
收起阅读 »
uniapp 如何在pages引用nvue
问题描述
在做小程序的时候遇到个问题,就是悬浮在地图上的cover-view里面不能装input,即使是我把input封装为cover-input在真机上也一样显示不出来。后来看了一篇帖子,说用nvue可以。于是我就新建了一个nvue文件想把原本的vue文件给替换掉。没想到直接报了Error: ENOENT: no such file or directory, open 'E:\Project\uniApp\AnJiaTenancy\pages\search\search.vue'
问题描述
在做小程序的时候遇到个问题,就是悬浮在地图上的cover-view里面不能装input,即使是我把input封装为cover-input在真机上也一样显示不出来。后来看了一篇帖子,说用nvue可以。于是我就新建了一个nvue文件想把原本的vue文件给替换掉。没想到直接报了Error: ENOENT: no such file or directory, open 'E:\Project\uniApp\AnJiaTenancy\pages\search\search.vue'

app支付宝最简单的接入方式 分享学习
最为简化的app对接支付宝付款功能,之前遇到返回62000,这个主要是channel 这个参数未被定义 指定的付款渠道!
以下代码仅供参考,根据自己的项目实质性修改,使用!本人已测试安卓和ios均可付款成功,后端采用异步验证!传达给服务器,通过数据检索,判断是否充值成功!
// 获取支付通道
var aliChannel = null; // 支付宝支付
var channel = null; //支付通道
//支付宝通道
function zhiyunokrss() //需要进入页面自动执行该串代码 获取app内嵌sdk支付通道
{
plus.payment.getChannels(function(channels){
for (var h in channels) {
var channel=channels[h];
if(channel.id=='qhpay'||channel.id=='appleiap'){ // 屏蔽360和苹果通道
continue;
}
if (channels[h].id == "alipay") { //筛选支付宝通道
aliChannel=channels[h]; //指定支付宝通道
}
}
},function(e){
tishi("获取支付通道失败:"+e.message);
});
}
//执行付款
function chongr(id,crok){
var Hzsh=参数1 安全自定义
var Hssk= 参数2 安全自定义
var nrs = document.getElementById("eduss").value //付款金额
//var PAYSERVER=''; 原生url地址 可根据传值判断 进行支付宝 微信 ios支付方式
if(id == 'alipay'){
PAYSERVER = "http://..............ok.php"; 后端版本php
channel = aliChannel;
mui.ajax(PAYSERVER,{
dataType:'text',//服务器返回json格式数据
type:'GET',//HTTP请求类型
data:{Hzsh:Hzsh.......},
timeout:3000,//超时时间设置为10秒;
success:function(data){
plus.payment.request(channel,data,function(result){ //给新手提示一下:调起支付宝打开支付 channel 指定通道 data 支付宝返回一串订单验证 通过它即可打开支付宝app进入付款页面
tishi("充值成功!");
//关闭页面
},function(error){
tishi("充值失败"+error.code);
});
},
error:function(xhr,type,errorThrown){
tishi(xhr+'--'+type+'--'+errorThrown) //错误提示
}
});
}
}
是不是非常简单,我也研究很近,高手勿喷,仅供新手学习交流!
//后端方面 ok.php
<?php
header('Access-Control-Allow-Origin: *');
header('Content-type: text/plain');
require_once 'aop/AopClient.php';
require_once 'aop/request/AlipayTradeAppPayRequest.php';
$urls = $_REQUEST['cs1'];//编号
$czje = $_REQUEST['cs2'];//金额
$czh = $_REQUEST['cs3'];//账户名
// 获取支付金额
$amount='';
if($_SERVER['REQUEST_METHOD']=='POST'){
$amount=$_POST['total'];
}else{
$amount=$_GET['total'];
}
$total = floatval($amount);
if(!$total){
$total = 1;
}
$aop = new AopClient;
$aop->gatewayUrl = "https://openapi.alipay.com/gateway.do";
$aop->appId = "20**";//appID
$aop->rsaPrivateKey = "支付宝秘钥";//'请填写开发者私钥去头去尾去回车,一行字符串';
$aop->format = "json";
$aop->charset = "UTF-8";
$aop->signType = "RSA2";
$aop->alipayrsaPublicKey = "支付宝秘钥";//请填写支付宝公钥,一行字符串'
$request = new AlipayTradeAppPayRequest();
// 异步通知地址
$notify_url = 'http://app..................jso';//商户外网可以访问的异步地址 支付宝平均按毫秒向服务器发送信息,确认对方是否付款成功 异步位置需要根据支付宝官方反馈支付状态判断支付结果;
// 订单标题
$subject = '会员充值';
// 订单详情
$body = '会员违章服务费';
// 订单号,示例代码使用时间值作为唯一的订单ID号
//$out_trade_no = $urls;
//SDK已经封装掉了公共参数,这里只需要传入业务参数
$bizcontent = "{\"body\":\"".$body."\","
. "\"subject\": \"".$subject."\","
. "\"out_trade_no\": \"".$urls."\","
. "\"timeout_express\": \"30m\","
. "\"total_amount\": \"".$czje."\","
. "\"product_code\":\"QUICK_MSECURITY_PAY\""
. "}";
$request->setNotifyUrl($notify_url);
$request->setBizContent($bizcontent);
//这里和普通的接口调用不同,使用的是sdkExecute
$response = $aop->sdkExecute($request);
// 注意:这里不需要使用htmlspecialchars进行转义,直接返回即可
echo $response; //返回json给app
?>
最为简化的app对接支付宝付款功能,之前遇到返回62000,这个主要是channel 这个参数未被定义 指定的付款渠道!
以下代码仅供参考,根据自己的项目实质性修改,使用!本人已测试安卓和ios均可付款成功,后端采用异步验证!传达给服务器,通过数据检索,判断是否充值成功!
// 获取支付通道
var aliChannel = null; // 支付宝支付
var channel = null; //支付通道
//支付宝通道
function zhiyunokrss() //需要进入页面自动执行该串代码 获取app内嵌sdk支付通道
{
plus.payment.getChannels(function(channels){
for (var h in channels) {
var channel=channels[h];
if(channel.id=='qhpay'||channel.id=='appleiap'){ // 屏蔽360和苹果通道
continue;
}
if (channels[h].id == "alipay") { //筛选支付宝通道
aliChannel=channels[h]; //指定支付宝通道
}
}
},function(e){
tishi("获取支付通道失败:"+e.message);
});
}
//执行付款
function chongr(id,crok){
var Hzsh=参数1 安全自定义
var Hssk= 参数2 安全自定义
var nrs = document.getElementById("eduss").value //付款金额
//var PAYSERVER=''; 原生url地址 可根据传值判断 进行支付宝 微信 ios支付方式
if(id == 'alipay'){
PAYSERVER = "http://..............ok.php"; 后端版本php
channel = aliChannel;
mui.ajax(PAYSERVER,{
dataType:'text',//服务器返回json格式数据
type:'GET',//HTTP请求类型
data:{Hzsh:Hzsh.......},
timeout:3000,//超时时间设置为10秒;
success:function(data){
plus.payment.request(channel,data,function(result){ //给新手提示一下:调起支付宝打开支付 channel 指定通道 data 支付宝返回一串订单验证 通过它即可打开支付宝app进入付款页面
tishi("充值成功!");
//关闭页面
},function(error){
tishi("充值失败"+error.code);
});
},
error:function(xhr,type,errorThrown){
tishi(xhr+'--'+type+'--'+errorThrown) //错误提示
}
});
}
}
是不是非常简单,我也研究很近,高手勿喷,仅供新手学习交流!
//后端方面 ok.php
<?php
header('Access-Control-Allow-Origin: *');
header('Content-type: text/plain');
require_once 'aop/AopClient.php';
require_once 'aop/request/AlipayTradeAppPayRequest.php';
$urls = $_REQUEST['cs1'];//编号
$czje = $_REQUEST['cs2'];//金额
$czh = $_REQUEST['cs3'];//账户名
// 获取支付金额
$amount='';
if($_SERVER['REQUEST_METHOD']=='POST'){
$amount=$_POST['total'];
}else{
$amount=$_GET['total'];
}
$total = floatval($amount);
if(!$total){
$total = 1;
}
$aop = new AopClient;
$aop->gatewayUrl = "https://openapi.alipay.com/gateway.do";
$aop->appId = "20**";//appID
$aop->rsaPrivateKey = "支付宝秘钥";//'请填写开发者私钥去头去尾去回车,一行字符串';
$aop->format = "json";
$aop->charset = "UTF-8";
$aop->signType = "RSA2";
$aop->alipayrsaPublicKey = "支付宝秘钥";//请填写支付宝公钥,一行字符串'
$request = new AlipayTradeAppPayRequest();
// 异步通知地址
$notify_url = 'http://app..................jso';//商户外网可以访问的异步地址 支付宝平均按毫秒向服务器发送信息,确认对方是否付款成功 异步位置需要根据支付宝官方反馈支付状态判断支付结果;
// 订单标题
$subject = '会员充值';
// 订单详情
$body = '会员违章服务费';
// 订单号,示例代码使用时间值作为唯一的订单ID号
//$out_trade_no = $urls;
//SDK已经封装掉了公共参数,这里只需要传入业务参数
$bizcontent = "{\"body\":\"".$body."\","
. "\"subject\": \"".$subject."\","
. "\"out_trade_no\": \"".$urls."\","
. "\"timeout_express\": \"30m\","
. "\"total_amount\": \"".$czje."\","
. "\"product_code\":\"QUICK_MSECURITY_PAY\""
. "}";
$request->setNotifyUrl($notify_url);
$request->setBizContent($bizcontent);
//这里和普通的接口调用不同,使用的是sdkExecute
$response = $aop->sdkExecute($request);
// 注意:这里不需要使用htmlspecialchars进行转义,直接返回即可
echo $response; //返回json给app
?>

夜间模式/黑暗模式的另一种简单实现思路
前言
项目临近上线,突然说要适配黑暗模式,nvue项目,没有提前设计好的情况下,css换皮简直工程浩大,时间来不及。
那么偷懒时间好巧看到某新闻类app的夜间模式就是一个暗色遮罩(ps:走过一段改变屏幕亮度的弯路),这样灵感不就来了嘛。
正文
1,plus.nativeObj.View创建一个rgba(0,0,0,0.3)遮罩view;
2,设置view的interceptTouchEvent为false,不影响其他页面的点击;
3,使用startAnimation方法在副view上添加一个gif(太阳变月亮的哪种),实现动画效果;
4,打开夜间模式就view.show();startAnimation();就够了。
5,除了开关之外,还有存入storage一个isNight标识,当app进入或者启动页结束后根据isNight来重新显示遮罩view。
另外上述3完全可以用两个view实现,而且更方便。
废话
这种取巧的方法亲测好用,不会影响到原生video或者页面跳转。
ps:在想到这个办法之前已经被自己坑得体无完肤了,抛砖引玉,想知道css换皮在nvue中有没有好的实现方式啊,毕竟无法子类名选择,难道就真的很蛋疼的一个一个的写吗,有没有什么巧妙的方法呢。
前言
项目临近上线,突然说要适配黑暗模式,nvue项目,没有提前设计好的情况下,css换皮简直工程浩大,时间来不及。
那么偷懒时间好巧看到某新闻类app的夜间模式就是一个暗色遮罩(ps:走过一段改变屏幕亮度的弯路),这样灵感不就来了嘛。
正文
1,plus.nativeObj.View创建一个rgba(0,0,0,0.3)遮罩view;
2,设置view的interceptTouchEvent为false,不影响其他页面的点击;
3,使用startAnimation方法在副view上添加一个gif(太阳变月亮的哪种),实现动画效果;
4,打开夜间模式就view.show();startAnimation();就够了。
5,除了开关之外,还有存入storage一个isNight标识,当app进入或者启动页结束后根据isNight来重新显示遮罩view。
另外上述3完全可以用两个view实现,而且更方便。
废话
这种取巧的方法亲测好用,不会影响到原生video或者页面跳转。
ps:在想到这个办法之前已经被自己坑得体无完肤了,抛砖引玉,想知道css换皮在nvue中有没有好的实现方式啊,毕竟无法子类名选择,难道就真的很蛋疼的一个一个的写吗,有没有什么巧妙的方法呢。

微信小程序 searchbar uniapp中实现
uniapp中如何实现https://developers.weixin.qq.com/miniprogram/dev/extended/weui/search.html
类似附件中组件套用效果,其中
组件searchbar需要引用组件cells,cell
组件cell需要引用组件cells
uniapp中如何实现https://developers.weixin.qq.com/miniprogram/dev/extended/weui/search.html
类似附件中组件套用效果,其中
组件searchbar需要引用组件cells,cell
组件cell需要引用组件cells
收起阅读 »
使用Xcode 制作自定义storyboard启动界面(用一张全屏图快速适配全部设备),供uniAPP使用。
尴尬 真是不好意思~~ 印象笔记直接 复制不过来。 需要的朋友 看这个 地址的吧 https://app.yinxiang.com/fx/280d41e3-3aba-420f-895c-aeec84a2ede5
1新建项目
80e3547b3db6f1069d927f6f2f95088b.png
0522895903a3c1ae39f84c841f92a88d.png
86527f763315a204b7512ccfee5129df.png
想要全屏显示并适应所有尺寸的iPad和iphone 需要用7501624 2X 和 1125 2436 3X大小的图片
ebffedf8f1211ee0182fb0bc5938b31b.png
853cbba819fe48d69c5b710c31fb73b8.png
ab6c3cc6c0fc5f5c2a85a0926704b86c.png
4fa551ed13071faa73633323cb998f4e.png
aeb09be61c8aec1b3eb51d286dd3245d.png
9de190f7a92466179885fd7c049b261d.png
5bc54493ac3c79ef50943c63299714ea.png
daacbdb218502602bf4983cd858eaf59.png
f3de8141212b206e1afdbf7a2c98e805.png
a9ad081f036a8b2a9cf3bd7118225191.png
这里做完就可以导出文件了 把文件和图片放到一起 见下图
命名规范
dc_launchscreen_background@2x
dc_launchscreen_background@3x
CustomStoryboard
b218c8d12f83ee43ea99946e9554366f.png
最后一步
1f8b8e5a32526a9226272931b520acf9.png
最后提醒 压缩文件 等修改完文件之后再进行压缩生成,我截的图有点没按顺序来。
得到这个文件夹
b1cc35fde2fa62a81d5c46248e238c75.png
d18fc7264a3595756168127dbaada0b9.png
最后云打包测试吧
最后的最后 附上生成的源文件
直接下载 添加启动图就可以了
前提条件:1图片大小 7501624 2X 和 1125 2436 3X大小的图片
2,命名规范 dc_launchscreen_background@2x.png
dc_launchscreen_background@3x.png
CustomStoryboard.zip
b218c8d12f83ee43ea99946e9554366f.png
1新建项目
80e3547b3db6f1069d927f6f2f95088b.png
0522895903a3c1ae39f84c841f92a88d.png
86527f763315a204b7512ccfee5129df.png
想要全屏显示并适应所有尺寸的iPad和iphone 需要用7501624 2X 和 1125 2436 3X大小的图片
ebffedf8f1211ee0182fb0bc5938b31b.png
853cbba819fe48d69c5b710c31fb73b8.png
ab6c3cc6c0fc5f5c2a85a0926704b86c.png
4fa551ed13071faa73633323cb998f4e.png
aeb09be61c8aec1b3eb51d286dd3245d.png
9de190f7a92466179885fd7c049b261d.png
5bc54493ac3c79ef50943c63299714ea.png
daacbdb218502602bf4983cd858eaf59.png
f3de8141212b206e1afdbf7a2c98e805.png
a9ad081f036a8b2a9cf3bd7118225191.png
这里做完就可以导出文件了 把文件和图片放到一起 见下图
命名规范
dc_launchscreen_background@2x
dc_launchscreen_background@3x
CustomStoryboard
b218c8d12f83ee43ea99946e9554366f.png
最后一步
1f8b8e5a32526a9226272931b520acf9.png
最后提醒 压缩文件 等修改完文件之后再进行压缩生成,我截的图有点没按顺序来。
得到这个文件夹
b1cc35fde2fa62a81d5c46248e238c75.png
d18fc7264a3595756168127dbaada0b9.png
最后云打包测试吧
最后的最后 附上生成的源文件
直接下载 添加启动图就可以了
前提条件:
1,图片大小 7501624 2X 和 1125 2436 3X大小的图片
2,命名规范 dc_launchscreen_background@2x.png
dc_launchscreen_background@3x.png
CustomStoryboard.zip
3, 保证文件在压缩包的根目录。
b218c8d12f83ee43ea99946e9554366f.png
尴尬 真是不好意思~~ 印象笔记直接 复制不过来。 需要的朋友 看这个 地址的吧 https://app.yinxiang.com/fx/280d41e3-3aba-420f-895c-aeec84a2ede5
1新建项目
80e3547b3db6f1069d927f6f2f95088b.png
0522895903a3c1ae39f84c841f92a88d.png
86527f763315a204b7512ccfee5129df.png
想要全屏显示并适应所有尺寸的iPad和iphone 需要用7501624 2X 和 1125 2436 3X大小的图片
ebffedf8f1211ee0182fb0bc5938b31b.png
853cbba819fe48d69c5b710c31fb73b8.png
ab6c3cc6c0fc5f5c2a85a0926704b86c.png
4fa551ed13071faa73633323cb998f4e.png
aeb09be61c8aec1b3eb51d286dd3245d.png
9de190f7a92466179885fd7c049b261d.png
5bc54493ac3c79ef50943c63299714ea.png
daacbdb218502602bf4983cd858eaf59.png
f3de8141212b206e1afdbf7a2c98e805.png
a9ad081f036a8b2a9cf3bd7118225191.png
这里做完就可以导出文件了 把文件和图片放到一起 见下图
命名规范
dc_launchscreen_background@2x
dc_launchscreen_background@3x
CustomStoryboard
b218c8d12f83ee43ea99946e9554366f.png
最后一步
1f8b8e5a32526a9226272931b520acf9.png
最后提醒 压缩文件 等修改完文件之后再进行压缩生成,我截的图有点没按顺序来。
得到这个文件夹
b1cc35fde2fa62a81d5c46248e238c75.png
d18fc7264a3595756168127dbaada0b9.png
最后云打包测试吧
最后的最后 附上生成的源文件
直接下载 添加启动图就可以了
前提条件:1图片大小 7501624 2X 和 1125 2436 3X大小的图片
2,命名规范 dc_launchscreen_background@2x.png
dc_launchscreen_background@3x.png
CustomStoryboard.zip
b218c8d12f83ee43ea99946e9554366f.png
1新建项目
80e3547b3db6f1069d927f6f2f95088b.png
0522895903a3c1ae39f84c841f92a88d.png
86527f763315a204b7512ccfee5129df.png
想要全屏显示并适应所有尺寸的iPad和iphone 需要用7501624 2X 和 1125 2436 3X大小的图片
ebffedf8f1211ee0182fb0bc5938b31b.png
853cbba819fe48d69c5b710c31fb73b8.png
ab6c3cc6c0fc5f5c2a85a0926704b86c.png
4fa551ed13071faa73633323cb998f4e.png
aeb09be61c8aec1b3eb51d286dd3245d.png
9de190f7a92466179885fd7c049b261d.png
5bc54493ac3c79ef50943c63299714ea.png
daacbdb218502602bf4983cd858eaf59.png
f3de8141212b206e1afdbf7a2c98e805.png
a9ad081f036a8b2a9cf3bd7118225191.png
这里做完就可以导出文件了 把文件和图片放到一起 见下图
命名规范
dc_launchscreen_background@2x
dc_launchscreen_background@3x
CustomStoryboard
b218c8d12f83ee43ea99946e9554366f.png
最后一步
1f8b8e5a32526a9226272931b520acf9.png
最后提醒 压缩文件 等修改完文件之后再进行压缩生成,我截的图有点没按顺序来。
得到这个文件夹
b1cc35fde2fa62a81d5c46248e238c75.png
d18fc7264a3595756168127dbaada0b9.png
最后云打包测试吧
最后的最后 附上生成的源文件
直接下载 添加启动图就可以了
前提条件:
1,图片大小 7501624 2X 和 1125 2436 3X大小的图片
2,命名规范 dc_launchscreen_background@2x.png
dc_launchscreen_background@3x.png
CustomStoryboard.zip
3, 保证文件在压缩包的根目录。
b218c8d12f83ee43ea99946e9554366f.png
收起阅读 »
新手学编程应该怎么选择,该注意什么??
今天我们来聊聊学编程纯萌新该怎么做。
首先呢,先不要觉得程序猿的工资就一定高,因为任何一个职业都会有收入高的低的,毕竟在这个世界上有无数的职业,程序猿也并不多特殊,只是一个普通的职业。说这些不是要劝退你们而是说不要太盲目,因为网上疯传的某行业入行门槛低、月薪高、发展前景好,是热门岗位,很多人想转行就会跟风,然后刚入门学了点觉得难或者不好就又退了。所以选择一定要慎重,毕竟关乎未来嘛,谁都想过的更好。
都说前端之类的入门门槛低,学起来很容易,但是实际上对于没学过的人来说还是很难的,所以一开始先要有学下去的信心,要有遇到难题的心理准备,不能一学着觉得很难就开始想放弃。其次是找对方向不管是学JS,C语言,python,vue,还是其他编程语言,先去了解一下它们的作用之类的,找到你感兴趣的喜欢的,只有对这个有兴趣才有学下去的动力,也能更加高效的学习。
然后,学习完了要记得经常练习,不然的话会生疏可能过两个小时就忘了。毕竟编程语言基本都是要敲代码实践的,这边建议多写多运行才能发现不足之处,题做出来了亦能让人有成就感,这样才能更快更好的学习
最后祝各位早日学成,加油吧!!!文章链接,还可在线运行代码
今天我们来聊聊学编程纯萌新该怎么做。
首先呢,先不要觉得程序猿的工资就一定高,因为任何一个职业都会有收入高的低的,毕竟在这个世界上有无数的职业,程序猿也并不多特殊,只是一个普通的职业。说这些不是要劝退你们而是说不要太盲目,因为网上疯传的某行业入行门槛低、月薪高、发展前景好,是热门岗位,很多人想转行就会跟风,然后刚入门学了点觉得难或者不好就又退了。所以选择一定要慎重,毕竟关乎未来嘛,谁都想过的更好。
都说前端之类的入门门槛低,学起来很容易,但是实际上对于没学过的人来说还是很难的,所以一开始先要有学下去的信心,要有遇到难题的心理准备,不能一学着觉得很难就开始想放弃。其次是找对方向不管是学JS,C语言,python,vue,还是其他编程语言,先去了解一下它们的作用之类的,找到你感兴趣的喜欢的,只有对这个有兴趣才有学下去的动力,也能更加高效的学习。
然后,学习完了要记得经常练习,不然的话会生疏可能过两个小时就忘了。毕竟编程语言基本都是要敲代码实践的,这边建议多写多运行才能发现不足之处,题做出来了亦能让人有成就感,这样才能更快更好的学习
最后祝各位早日学成,加油吧!!!文章链接,还可在线运行代码

发送短信教程(验证码、短信通知)
以下说明作废 ,前往新的短信服务开通指南
开通服务
使用开发者账号登录开发者中心,在左侧导航选择“短信验证码”。在使用此功能前需要先完成邮箱验证,根据开发者中心页面提示完成邮箱验证即可。邮箱验证通过后,点击页面上的“点此开通”,如下图所示:
开通成功后的页面如下图所示:
注意: 页面中显示的“账号 API 密钥”用于接口身份验证,此信息需要妥善保存,一旦泄漏可能会给您带来不必要的财务损失。
签名配置
例:【dcloud】验证码:${code},用于${action},${expMinute}分钟内有效,请勿泄露并尽快验证。dcloud即为签名。
模板配置
添加短信模板前需要先添加签名。
添加模板完成后,如模板审核通过,则根据https://uniapp.dcloud.io/uniCloud/send-sms进行短信接入。
充值
短信验证码为预付费业务,使用短信验证码服务之前,需要先进行充值。点击页面上的“充值”按钮,可以选择预设金额进行充值,也可以选择自定义金额进行充值,充值金额最小10元。
选择完金额之后,点击充值,选择支付方式。目前支持支付宝、微信两种支付方式。支付完成后,即可通过调用接口来发送短信验证码。调用方式详见章节“如何使用?”
安全配置
在此页面可以进行一些安全设置,以提高接口调用安全性,防止被他人盗用。
充值记录
发送统计
发送记录
如何使用?
在 uniCloud 中调用
为了方便 uniCloud 用户调用,我们提供了发送短信接口,uniCloud.sendSms
,开发文档
整套系统部署在双serverless上,在阿里云和腾讯云之间双云主备切换,不存在被DDoS打垮的可能,最大程度保障了系统的可靠性。
使用 REST API 调用
开发者可以在云函数里调用uniCloud.sendSms
,然后将云函数url化,变成一个REST API。
~~*
比较
DCloud官方提供的短信服务,方便、安全、便宜。
开发者可以对比阿里云和腾讯云的短信服务价格,可见DCloud并不把短信服务当做盈利项目,而是当做为开发者提供便利服务。
某些三方原生sdk方式提供的短信,采集用户设备隐私信息、且调试麻烦,建议开发者慎用三方sdk方式的短信。
其他
- 如果是用于用户注册的短信验证码,那么强烈推荐使用uni-id,这是一套云端一体的、完善的用户管理方案,详见:https://uniapp.dcloud.net.cn/uniCloud/uni-id-summary.html
- Android手机在App端获取短信验证码,参考:https://ask.dcloud.net.cn/article/676
以下说明作废 ,前往新的短信服务开通指南
开通服务
使用开发者账号登录开发者中心,在左侧导航选择“短信验证码”。在使用此功能前需要先完成邮箱验证,根据开发者中心页面提示完成邮箱验证即可。邮箱验证通过后,点击页面上的“点此开通”,如下图所示:
开通成功后的页面如下图所示:
注意: 页面中显示的“账号 API 密钥”用于接口身份验证,此信息需要妥善保存,一旦泄漏可能会给您带来不必要的财务损失。
签名配置
例:【dcloud】验证码:${code},用于${action},${expMinute}分钟内有效,请勿泄露并尽快验证。dcloud即为签名。
模板配置
添加短信模板前需要先添加签名。
添加模板完成后,如模板审核通过,则根据https://uniapp.dcloud.io/uniCloud/send-sms进行短信接入。
充值
短信验证码为预付费业务,使用短信验证码服务之前,需要先进行充值。点击页面上的“充值”按钮,可以选择预设金额进行充值,也可以选择自定义金额进行充值,充值金额最小10元。
选择完金额之后,点击充值,选择支付方式。目前支持支付宝、微信两种支付方式。支付完成后,即可通过调用接口来发送短信验证码。调用方式详见章节“如何使用?”
安全配置
在此页面可以进行一些安全设置,以提高接口调用安全性,防止被他人盗用。
充值记录
发送统计
发送记录
如何使用?
在 uniCloud 中调用
为了方便 uniCloud 用户调用,我们提供了发送短信接口,uniCloud.sendSms
,开发文档
整套系统部署在双serverless上,在阿里云和腾讯云之间双云主备切换,不存在被DDoS打垮的可能,最大程度保障了系统的可靠性。
使用 REST API 调用
开发者可以在云函数里调用uniCloud.sendSms
,然后将云函数url化,变成一个REST API。
~~*
比较
DCloud官方提供的短信服务,方便、安全、便宜。
开发者可以对比阿里云和腾讯云的短信服务价格,可见DCloud并不把短信服务当做盈利项目,而是当做为开发者提供便利服务。
某些三方原生sdk方式提供的短信,采集用户设备隐私信息、且调试麻烦,建议开发者慎用三方sdk方式的短信。
其他
- 如果是用于用户注册的短信验证码,那么强烈推荐使用uni-id,这是一套云端一体的、完善的用户管理方案,详见:https://uniapp.dcloud.net.cn/uniCloud/uni-id-summary.html
- Android手机在App端获取短信验证码,参考:https://ask.dcloud.net.cn/article/676

5+ app 保存海报图片至手机相册
/**
* this.posterUrl 海报 base64 图片
*/
let fileName = 'share'
var bitmap = new plus.nativeObj.Bitmap('share')
bitmap.loadBase64Data(this.posterUrl, function(e) {
console.log('加载Base64图片数据成功')
// 如果传入文件名称为空,则直接设置APP名称为文件名称
if (fileName === undefined) {
fileName = plus.runtime.name
}
fileName = fileName+ +(new Date) + '.png'
bitmap.save('_doc/' + fileName, {}, function(i) {
console.log('保存图片成功:' + JSON.stringify(i))
plus.gallery.save(i.target, function(e) {
console.log('保存图片成功:' + JSON.stringify(e))
Toast(`图片保存到:${e.file}`)
}, function() {
Toast(`图片保存失败`)
})
}, function(e) {
console.log('保存图片失败:' + JSON.stringify(e))
Toast(`图片保存失败`)
})
}, function(e) {
console.log('加载Base64图片数据失败:' + JSON.stringify(e))
Toast(`图片保存失败`)
})
/**
* this.posterUrl 海报 base64 图片
*/
let fileName = 'share'
var bitmap = new plus.nativeObj.Bitmap('share')
bitmap.loadBase64Data(this.posterUrl, function(e) {
console.log('加载Base64图片数据成功')
// 如果传入文件名称为空,则直接设置APP名称为文件名称
if (fileName === undefined) {
fileName = plus.runtime.name
}
fileName = fileName+ +(new Date) + '.png'
bitmap.save('_doc/' + fileName, {}, function(i) {
console.log('保存图片成功:' + JSON.stringify(i))
plus.gallery.save(i.target, function(e) {
console.log('保存图片成功:' + JSON.stringify(e))
Toast(`图片保存到:${e.file}`)
}, function() {
Toast(`图片保存失败`)
})
}, function(e) {
console.log('保存图片失败:' + JSON.stringify(e))
Toast(`图片保存失败`)
})
}, function(e) {
console.log('加载Base64图片数据失败:' + JSON.stringify(e))
Toast(`图片保存失败`)
})
收起阅读 »

uni-app微信公众号支付和分享,特别是ios下的配置,完美解决
一、支付
由于在ios中uni-app发布的应用是单应用,不管访问哪个页面,始终记录的是首次进来的那个页面。
这样的话,在微信支付签名时会报签名不对的错误。怎么解决?
老王的解决方案是在main.js下加上以下代码:
//#ifdef H5
app.$router.afterEach((to, from) => {
const u = navigator.userAgent.toLowerCase()
if (u.indexOf("like mac os x") < 0 || u.match(/MicroMessenger/i) != 'micromessenger') return
if (to.path !== global.location.pathname) {
location.assign(config.h5_addr + to.fullPath);
}
})
//#endif
什么意思呢?支付无非就是要当前页的链接到后台签名,这个页面需要配置到微信支付授权目录。
这段代码就是通过vue全局钩子函数,动态改变浏览器地址。
自此,支付问题完美解决。
二、分享
分享的话比较麻烦一点,解决方案倒还比较简单,就是判断跳转后的页面是否是分享页面,如果是的,就用window.location.href跳转。但是要实现公用的话,就需要封装方法。app内的所有跳转都走全局跳转,封装一个全局函数,然后在全局函数里定义需要分享的页面链接,跳转前判断是不是分享页面。
//判断是否分享页面
if (shareLinks.indexOf(p) > -1) {
//公众号
// #ifdef H5
window.location.href = config.app_url + config.h5_addr + url;
return;
// #endif
}
// 普通页面
uni.navigateTo({
url: url
});
至此,完美解决了uni-app在ios下的公众号分享跟支付问题。
一、支付
由于在ios中uni-app发布的应用是单应用,不管访问哪个页面,始终记录的是首次进来的那个页面。
这样的话,在微信支付签名时会报签名不对的错误。怎么解决?
老王的解决方案是在main.js下加上以下代码:
//#ifdef H5
app.$router.afterEach((to, from) => {
const u = navigator.userAgent.toLowerCase()
if (u.indexOf("like mac os x") < 0 || u.match(/MicroMessenger/i) != 'micromessenger') return
if (to.path !== global.location.pathname) {
location.assign(config.h5_addr + to.fullPath);
}
})
//#endif
什么意思呢?支付无非就是要当前页的链接到后台签名,这个页面需要配置到微信支付授权目录。
这段代码就是通过vue全局钩子函数,动态改变浏览器地址。
自此,支付问题完美解决。
二、分享
分享的话比较麻烦一点,解决方案倒还比较简单,就是判断跳转后的页面是否是分享页面,如果是的,就用window.location.href跳转。但是要实现公用的话,就需要封装方法。app内的所有跳转都走全局跳转,封装一个全局函数,然后在全局函数里定义需要分享的页面链接,跳转前判断是不是分享页面。
//判断是否分享页面
if (shareLinks.indexOf(p) > -1) {
//公众号
// #ifdef H5
window.location.href = config.app_url + config.h5_addr + url;
return;
// #endif
}
// 普通页面
uni.navigateTo({
url: url
});
至此,完美解决了uni-app在ios下的公众号分享跟支付问题。
收起阅读 »
上海互联网公司招uniapp开发偏app原生方向的,有意的联系
坐标:上海西藏北路,主要负责uniapp开发app兼容和插件等方面的工作,薪酬范围在15-20k。有意的请联系我。
坐标:上海西藏北路,主要负责uniapp开发app兼容和插件等方面的工作,薪酬范围在15-20k。有意的请联系我。