欢迎来到本网站

全国统一咨询热线:158-2196-7367

新闻中心

新闻中心News Center

联系方式

联系方式Contact infoemation

电话:158-2196-7367

邮箱:amy@hanett.com

地址:中国·上海市金山区朱泾镇南横街4号4幢1296室H座

当前位置:明翔网络 > 行业新闻 > 微信小程序不能用怎么回事

微信小程序不能用怎么回事

文章出处:http://www.ucunicom.com/a/1039.html 阅读量:1 发表时间:07-02 09:57
行业新闻

微信小程序的picker组件不能使用对象怎么办?

于是在服务器端把索引数组中的key和value用个循环分离出来,再存入新数组中。如图

{

a : 'a_value',

b : 'b_value'

}

改为

{

keys : [a, b],

values : ['a_value', 'b_value']

}

然后就可以用picker显示了,而且keys数组和values数组的index是对应的,如果想取出原来的索引只需要values[index]即可,

相关代码: 使用picker封装省市区三级联动实例

目前学习小程序更多的是看看能否二次封装其它组件,利于以后能快速开发各种小程序应用。目前发现picker的selector模式只有一级下拉,那么我们是否可以通过3个picker来实现三级联动模板的形式来引入其它页面中呢?答案是肯定可以的。那么我的思路是这样的:

1、使用template模板语法进行封装,数据从页面传入

3、通过picker的bindchange事件来获取下一级的数据,每个方法都写入函数中在暴露出来供页面调用

然后讲下我demo的目录结构:

common

三级联动方法

page

-demo

template

然后,使用phpstudy搭建了简单的服务端供测试。不要问我服务端的为啥是这样的,我也不懂,刚入门我只要数据…

当然你可以省掉这一步,将数据直接固定在里面进行测试…

header("Content-type: text/html; charset=utf-8");

$type=$_REQUEST["type"];//获取省市区的标志

$fcode=$_GET["fcode"];

$retArr=[

];

if($type!="province" && $type!="city" && $type!="county"){

$retArr["status"]=false;

$retArr["msg"]="获取地区类型错误,请检查";

echo json_encode($retArr);

exit;

}

function getProvince(){

$province=[];

$code=["110000", "350000", "710000"];

$province["code"]=$code;

$name=["北京市", "福建省", "台湾省"];

$province["name"]=$name;

$fcode=["0", "0", "0"];

$province["fcode"]=$fcode;

return $province;

}

function getCity($P_fcode){

$city=[];

$code=[];

$name=[];

$fcode=[];

if($P_fcode=="110000"){

$code=["110100"];

$name=["北京市"];

$fcode=$P_fcode;

}

if($P_fcode=="350000"){

$code=["350100", "350200", "350300", "350400", "350500", "350600", "350700", "350800", "350900"];

$name=["福州市", "厦门市", "莆田市", "三明市", "泉州市", "漳州市", "南平市", "龙岩市", "宁德市"];

$fcode=$P_fcode;

}

if($P_fcode=="710000"){

}

return $city;

}

function getCounty($P_fcode){

$county=[];

$code=[];

$name=[];

$fcode=[];

if($P_fcode=="110100"){

$code=["110101", "110102", "110103", "110104", "110105", "110106", "110107"];

$name=["东城区", "西城区", "崇文区", "宣武区", "朝阳区", "丰台区", "石景山区"];

$fcode=$P_fcode;

}

if($P_fcode=="350100"){

$code=["350102", "350103", "350104"];

$name=["鼓楼区", "台江区", "苍山区"];

$fcode=$P_fcode;

}

if($P_fcode=="350200"){

$code=["350203", "350205", "350206"];

$name=["思明区", "海沧区", "湖里区"];

$fcode=$P_fcode;

}

return $county;

}

//var_dump($province);

if($type=="province"){

$province=getProvince();

$retArr["data"]=$province;

}else if($type=="city"){

$city=getCity($fcode);

$retArr["data"]=$city;

}else if($type="county"){

$county=getCounty($fcode);

$retArr["data"]=$county;

}

echo json_encode($retArr);

::

/**

* 获取三级联动的三个函数

* that: 注册页面的this实例 必填

* p_url: 一级省份url 必填

* p_data:一级省份参数 选填

*/

var net = require( "net" );//引入request方法

var g_url, g_datd, g_cbSuccess, g_cbSuccessErr, g_cbFail, g_cbComplete, g_header, g_method;

function initCityFun( that, p_url, p_data ) {

//获取一级省份数据

g_cbSuccess = function( res ) {

( {

'': res

});

};

( p_url, p_data, g_cbSuccess, g_cbSuccessErr, g_cbFail, g_cbComplete, g_header, g_method );

//点击一级picker触发事件并获取市区方法

var changeProvince = function( e ) {

( {

'':

});

var _fcode = [ ];

if( !_fcode ) {

_fcode = 0;

}

var _cityUrl = ;

g_url = _cityUrl + _fcode;

g_cbSuccess = function( res ) {

( {

'': res

});

}

( g_url, g_datd, g_cbSuccess, g_cbSuccessErr, g_cbFail, g_cbComplete, g_header, g_method );

};

that[ "provincePickerChange" ] = changeProvince;

//点击二级picker触发事件并获取地区方法

var changeCity = function( e ) {

( {

'':

});

var _fcode = [ ];

if( !_fcode ) {

_fcode = 0;

}

var _countyUrl = ;

g_url = _countyUrl + _fcode;

g_cbSuccess = function( res ) {

( {

'': res

});

};

( g_url, g_datd, g_cbSuccess, g_cbSuccessErr, g_cbFail, g_cbComplete, g_header, g_method );

};

that[ "cityPickerChange" ] = changeCity;

//点击三级picker触发事件

var changeCounty = function( e ) {

( {

'':

});

};

that["countyPickerChange"]=changeCounty;

}

function getProvinceFun(that, p_url, p_data){

g_cbSuccess = function( res ) {

( {

'': res

});

};

( p_url, p_data, g_cbSuccess, g_cbSuccessErr, g_cbFail, g_cbComplete, g_header, g_method );

}

{

initCityFun: initCityFun,

getProvinceFun: getProvinceFun

}

顺道方法::

/**

*

* data:请求的参数 Object或String

* successErrorFun(msg):成功执行请求,但是服务端认为业务错误,执行其他行为,默认弹出系统提示信息。

* failFun:接口调用失败的回调函数

* completeFun:接口调用结束的回调函数(调用成功、失败都会执行)

* header:object,设置请求的 header , header 中不能设置 Referer

* method:默认为 GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT

*

*/

function r( url, data, successFun, successErrorFun, failFun, completeFun, header, method ) {

var reqObj = {};

= url;

= data;

//默认头为json

= { 'Content-Type': 'application/json' };

if( header ) {

//覆盖header

= header;

}

if( method ) {

= method;

}

= function( res ) {

var status = ; //按接口约定,返回status时,才调用成功函数

(res);

//正常执行的业务函数

if( status == true ) {

if( successFun ) {

var dts = ;

successFun( dts );//回调,相当于获取到data后直接在回调里面处理赋值数据

}

} else if( status == false ) {

var msg = ;

if( !successErrorFun ) {

( msg );

} else {

successErrorFun( msg );

}

} else {

( "服务端没有按照接口约定格式返回数据" );

}

}

= function( res ) {

if( failFun ) {

failFun( res );

}

}

= function( res ) {

if( completeFun ) {

completeFun( res );

}

}

}

= {

r: r

}

核心代码就是上面这三个文件,接下来是demo文件做测试::

::

var city = require( '//common/cityTemplate' );

Page( {

data: {

},

onLoad: function( options ) {

var _that = this;

_( {

city: {

province: {},//格式province:{code: ["11000", "12000"], name: ["北京市", "上海市"]},只能固定是name和code,因为模板需要根据这俩参数显示

city: {},

county: {},

provinceIndex: 0,

cityIndex: 0,

countyIndex: 0,

cityUrl: "表示获取地区 fcode是一级code码,到时具体根据后端请求参数修改

countyUrl: "="

}

})

var _url = "";

var _data = { 'type': 'province', 'fcode': '0' };

( _that, _url, _data );

}

})

以上完整代码文件,最终测试如下:

微信小程序为什么用不了?微信小程序使用问题汇总

1. 我打不开别人发来的小程序页面,也搜不到小程序,怎么办?

iOS 用户

iPhone 用户

主要有两种方式:

注:如果点击「发现」按钮后,没有找到「小程序」,请看下一条问题。

Android 用户

值得注意的是,绝大部分小程序,都需要输入完整名称才能搜索得到。

如果你不知道小程序的全名,或者不知道已经有哪些小程序。在小程序商店,你不仅可以发现新鲜有趣的小程序,还能一键复制小程序全名,省去打字的麻烦。

3. 为什么「发现」页面,没有「小程序」一项?

如果你从未打开或使用过任何小程序。那么,在发现页面是不会出现小程序按钮的。想让它现身?只要打开一个小程序就行了。

5. 怎样才可以边聊天,边使用小程序?

在使用小程序时,点击右上角的「···」按钮,在底部弹出的页面中,点击「显示在聊天顶部」。这样,小程序就会出现在聊天页面的顶部,点一下,就可以从聊天页面返回小程序页面了。

微信小程序不能正常运行,谁之过?

本公

基本事实

服务条款约定:甲方提交的产品信息及描述应符合国家相关法律规定,不得含有任何违反有关法律、法规及中华人民共和国承认或加入的国际条约的内容;甲方不得利用乙方提供的服务从事法律法规或公共道德所禁止、限制或不支持的活动,也不得为他人进行上述活动提供便利或者支持。

诉讼请求:1.判令解除原告与被告某软件公司签订的《小程序技术服务合同》;2.判令被告返还技术服务费45000元;3.案件受理费由被告承担。

法院裁决:一、被告某软件公司于本判决生效之日起十日内返还原告元某技术服务费30000元;二、驳回原告元某的其他诉讼请求。

律师分析

事实上,该小程序上线运营四个月左右由于小程序所选类目与小程序运营内容不符合被暂停服务。由此可见,双方当事人签订的合同是以合法形式掩盖非法目的。根据《中华人民共和国合同法》第五十二条第(三)项的规定,为无效合同。根据《中华人民共和国合同法》第五十八条的规定:“合同无效或者撤销后,因该合同取得的财产,应当予以返还;不能返还或者没有必须返还的,应当折价补偿。有过错的一方应当赔偿对方因此所受到的损失,双方都有过错的,应当各自承担相应的责任。”,被告因上述无效合同取得的技术服务费应当返还,但考虑到被告为原告上线运营新洲贷款平台小程序提供了一定的技术服务,并且原告对合同的无效亦应当承担一定的过错,综合平衡双方的利益,可以酌情确定被告返还原告技术服务费30000元。由于双方当事人签订的合同无效,并不存在合同解除的问题,因此,原告要求解除合同的问题,于法无据,不予支持。

全国咨询热线:158-2196-7367

二维码

地址:中国·上海市金山区朱泾镇南横街4号4幢1296室H座

版权所有 © 1999-2017 Copyright © 1999-2017 All Rights Reserved

cache
Processed in 0.003631 Second.