var str= { fromCharCode: function (code) { return decodeURIComponent('%' + code.toString(16)); } } module.exports = str;
wxs中没有String.fromCharCode()函数,如何解决?问题 :在wxs文件中不能调用String.fromCharCode()函数,而js可以用String.fromCharCode(),请问如何解决? 已尝试过 string.charAt 和 string.charCodeAt 函数,结果不理想,代码 =》 str.toString().charCodeAt() 或者 str.toString().charCodeAt 建议 :wxs中不能调用js函数,每次都要写2套方法,代码会重复,建议wxs文件可以调用js函数,谢谢
2020-12-08用 promise 实现 [代码]<[代码][代码]form[代码] [代码]report-submit [代码][代码]report-submit-timeout[代码][代码]=[代码][代码]"2000"[代码] [代码]bindsubmit[代码][代码]=[代码][代码]"formSubmit"[代码][代码]>[代码][代码] [代码] [代码] [代码][代码]<[代码][代码]input[代码] [代码]class[代码][代码]=[代码][代码]"form-control text-center mb-3"[代码] [代码]required [代码][代码]placeholder[代码][代码]=[代码][代码]"请输入您获得的四位随机码"[代码] [代码]value[代码][代码]=[代码][代码]"{{ code }}"[代码] [代码]maxlength[代码][代码]=[代码][代码]"4"[代码] [代码]bindinput[代码][代码]=[代码][代码]'bindinput'[代码] [代码]data-name[代码][代码]=[代码][代码]'code'[代码] [代码]name[代码][代码]=[代码][代码]'code'[代码] [代码]/>[代码][代码] [代码] [代码] [代码][代码]<[代码][代码]button[代码] [代码]wx:else [代码][代码]class[代码][代码]=[代码][代码]'btn btn-primary'[代码] [代码]loading[代码][代码]=[代码][代码]"{{btnLoading}}"[代码] [代码]form-type[代码][代码]=[代码][代码]"submit"[代码] [代码]open-type[代码][代码]=[代码][代码]"getPhoneNumber"[代码] [代码]bindgetphonenumber[代码][代码]=[代码][代码]"getPhoneNumber"[代码] [代码]disabled[代码][代码]=[代码][代码]"{{code.length !== 4}}"[代码][代码]>进入排队</[代码][代码]button[代码][代码]>[代码][代码] [代码] [代码]</[代码][代码]form[代码][代码]>[代码][代码]Page({[代码][代码] [代码][代码]phoneReady: [代码][代码]null[代码][代码],[代码][代码] [代码][代码]formReady: [代码][代码]null[代码][代码],[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]btnLoading: [代码][代码]false[代码][代码],[代码][代码] [代码][代码]},[代码][代码] [代码][代码]onLoad() {[代码][代码] [代码][代码]this[代码][代码].resetPostPromise();[代码][代码] [代码][代码]},[代码][代码] formSubmit: [代码][代码]function[代码] [代码](e) {[代码] [代码] [代码][代码]console.log([代码][代码]'formsubmit'[代码][代码], e);[代码][代码] [代码][代码]this[代码][代码].setData({ btnLoading: [代码][代码]true[代码][代码], })[代码][代码] [代码][代码]this[代码][代码].formReady.resolve({ form_id: e.detail.formId, code: e.detail.value.code });[代码][代码] [代码][代码]},[代码][代码] [代码][代码]getPhoneNumber(e) {[代码][代码] [代码][代码]if[代码] [代码](e.detail.iv) {[代码][代码] [代码][代码]console.log([代码][代码]'getPhoneNumber'[代码][代码], e)[代码][代码] [代码][代码]postPhoneNumber(e.detail).then(user => {[代码] [代码] [代码][代码]console.log([代码][代码]'Phone post success.'[代码][代码]);[代码][代码] [代码][代码]this[代码][代码].phoneReady.resolve({});[代码][代码] [代码][代码]}, [代码][代码]this[代码][代码].phoneReady.reject);[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]{ [代码][代码]// 用户拒绝授权[代码] [代码] [代码][代码]this[代码][代码].phoneReady.reject();[代码][代码] [代码][代码]showToast([代码][代码]"手机授权失败"[代码][代码]);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]},[代码][代码] [代码] [代码] [代码][代码]resetPostPromise() {[代码][代码] [代码][代码]const phoneReady = [代码][代码]new[代码] [代码]Promise((resolve, reject) => {[代码][代码] [代码][代码]this[代码][代码].phoneReady = {resolve, reject};[代码][代码] [代码][代码]});[代码][代码] [代码][代码]const formReady = [代码][代码]new[代码] [代码]Promise((resolve, reject) => {[代码][代码] [代码][代码]this[代码][代码].formReady = { resolve, reject };[代码][代码] [代码][代码]});[代码][代码] [代码][代码]Promise.all([phoneReady, formReady]).then(res => {[代码][代码] [代码][代码]// todo something[代码][代码] [代码][代码]}).finally(() => {[代码][代码] [代码][代码]this[代码][代码].setData({ btnLoading: [代码][代码]false[代码][代码], });[代码][代码] [代码][代码]console.log([代码][代码]'resetPostPromise'[代码][代码]);[代码][代码] [代码][代码]this[代码][代码].resetPostPromise();[代码][代码] [代码][代码]})[代码][代码] [代码][代码]},[代码][代码] [代码][代码]bindinput(e) {[代码][代码] [代码][代码]const name = e.currentTarget.dataset.name;[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码][name]: e.detail.value[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码]})[代码]
一个登录按钮同时实现授权和获取formId怎么弄?由于需要对用户进行消息推送,所以需要获取formId。 现在登录按钮上绑定着submit(form标签上bindsubmit)和getuserinfo(button上的bindgetuserinfo)的两个方法,一个提交一个授权,点击登录按钮两个方法都被触发,能否控制授权完毕才进行提交呢? 在getuserinfo方法里面调用submit无法获取formId及value,反之同理,怎么解决求教。
2019-07-04