HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

微信小程序下载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日之后申请的发票可以在“发票申请记录”中下载,不再发送邮件。

  1. 如开发者需要, DCloud 将开具项目为“*信息技术服务*软件服务费”的增值税发票。开发者登录开发者中心,在“个人中心”-“发票申请”页面可自助申请。
  2. DCloud 收到开票申请后,将在7个工作日内开具增值税普通发票增值税专用发票的电子发票,电子发票开票成功后,可以“发票申请记录”中下载。如有疑问,可发邮件到 fapiao@dcloud.io 咨询。

自助申请发票流程

  • 登录开发者中心,进入“个人中心”-“发票申请”页面,勾选需要开票的订单,然后点击“开票”。

  • 开票成功后,在“查看开票记录”中下载发票

发票抬头说明

自2024年8月15日起,DCloud升级开票系统,升级后系统开票规则如下:

  1. 发票抬头须与账号实名认证主体一致,实名认证主体为 A 公司的账号,不可以申请开具 B 公司的发票。
  2. 个人作为应用协作者,为应用属主代为下单“云打包、插件购买、uni安全”业务,且应用属主账号已完成企业实名认证,则个人可选择相应订单开具应用属主的实名认证企业抬头发票;否则,个人认证账号仅能开具个人发票,不可开具公司发票;如您需要开具企业发票,您可前往账号中心完成企业实名认证升级后再申请开票,详见实名认证变更流程

个人用户如何开具企业发票

只有以下两种场景,个人认证用户可以开具企业发票。其它场景请将账号变更为企业认证。

  1. 个人认证用户选择付费类目为“云打包”,“插件”,“uni安全”业务时,可开具协作应用属主的实名抬头发票。
  2. 使用对公付款支付,可开付费公司抬头的发票。

注意: 北京市税务新发行的ukey开具的电子发票没有公司发票专用章,税务局是认可的,如有疑问可咨询当地税务局。国家税务总局公告2020年第1号

继续阅读 »

【公告】自2024年8月15日起,DCloud将升级开票系统 查看详情

开票说明

2023年3月6日之后申请的发票可以在“发票申请记录”中下载,不再发送邮件。

  1. 如开发者需要, DCloud 将开具项目为“*信息技术服务*软件服务费”的增值税发票。开发者登录开发者中心,在“个人中心”-“发票申请”页面可自助申请。
  2. DCloud 收到开票申请后,将在7个工作日内开具增值税普通发票增值税专用发票的电子发票,电子发票开票成功后,可以“发票申请记录”中下载。如有疑问,可发邮件到 fapiao@dcloud.io 咨询。

自助申请发票流程

  • 登录开发者中心,进入“个人中心”-“发票申请”页面,勾选需要开票的订单,然后点击“开票”。

  • 开票成功后,在“查看开票记录”中下载发票

发票抬头说明

自2024年8月15日起,DCloud升级开票系统,升级后系统开票规则如下:

  1. 发票抬头须与账号实名认证主体一致,实名认证主体为 A 公司的账号,不可以申请开具 B 公司的发票。
  2. 个人作为应用协作者,为应用属主代为下单“云打包、插件购买、uni安全”业务,且应用属主账号已完成企业实名认证,则个人可选择相应订单开具应用属主的实名认证企业抬头发票;否则,个人认证账号仅能开具个人发票,不可开具公司发票;如您需要开具企业发票,您可前往账号中心完成企业实名认证升级后再申请开票,详见实名认证变更流程

个人用户如何开具企业发票

只有以下两种场景,个人认证用户可以开具企业发票。其它场景请将账号变更为企业认证。

  1. 个人认证用户选择付费类目为“云打包”,“插件”,“uni安全”业务时,可开具协作应用属主的实名抬头发票。
  2. 使用对公付款支付,可开付费公司抬头的发票。

注意: 北京市税务新发行的ukey开具的电子发票没有公司发票专用章,税务局是认可的,如有疑问可咨询当地税务局。国家税务总局公告2020年第1号

收起阅读 »

uniapp 如何在pages引用nvue

uniapp

问题描述
在做小程序的时候遇到个问题,就是悬浮在地图上的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支付宝最简单的接入方式 分享学习

H5支付 应用内支付 支付宝 移动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 自定义组件

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方式的短信。

其他

继续阅读 »

以下说明作废 ,前往新的短信服务开通指南

开通服务

使用开发者账号登录开发者中心,在左侧导航选择“短信验证码”。在使用此功能前需要先完成邮箱验证,根据开发者中心页面提示完成邮箱验证即可。邮箱验证通过后,点击页面上的“点此开通”,如下图所示:

开通成功后的页面如下图所示:

注意: 页面中显示的“账号 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方式的短信。

其他

收起阅读 »

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下的配置,完美解决

uniapp 教程

一、支付

由于在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。有意的请联系我。