diff --git a/Pages/yishi/chat/index.js b/Pages/yishi/chat/index.js
index ff4240e..fa2efc9 100644
--- a/Pages/yishi/chat/index.js
+++ b/Pages/yishi/chat/index.js
@@ -6,13 +6,16 @@ Page({
title: '',
height: app.globalData.height,
order_inquiry_id: "",
+ from:'',
baseInfo: {}
},
onLoad(option) {
// console.log("chat onload", option);
let order_inquiry_id = option.order_inquiry_id;
+ let from=option.from;
this.setData({
order_inquiry_id: order_inquiry_id,
+ from:from?from:''
})
this.getInquiryMessageBasic();
},
diff --git a/Pages/yishi/chat/index.wxml b/Pages/yishi/chat/index.wxml
index d2bcb23..c7f201e 100644
--- a/Pages/yishi/chat/index.wxml
+++ b/Pages/yishi/chat/index.wxml
@@ -1,5 +1,5 @@
+ hasCallKit="{{ true }}" from="{{from}}" bind:handleCall="handleCall">
diff --git a/Pages/yishi/chufangsetup/index.js b/Pages/yishi/chufangsetup/index.js
index e38c4cf..a63df51 100644
--- a/Pages/yishi/chufangsetup/index.js
+++ b/Pages/yishi/chufangsetup/index.js
@@ -26,9 +26,9 @@ Page({
this.getList();
},
onTabsChange(e) {
- console.log(e);
+ // console.log(e);
let list_name = "chufang_list_" + e.detail.value;
- console.log(list_name)
+ //console.log(list_name)
this.setData({
prescription_status: e.detail.value,
current_page: 0,
@@ -64,10 +64,10 @@ Page({
params.pharmacist_audit_status = this.data.prescription_status;//处方审核状态(0:审核中 2:审核驳回)
params.page = this.data.current_page + 1;
api.getDoctorPrescription(params).then(response => {
- console.log(response);
+ //console.log(response);
if(response.data.total > 0){
let list_name = "chufang_list_" + this.data.prescription_status;
- console.log(list_name);
+ //console.log(list_name);
let apprise_list = this.data[list_name];
this.setData({
[list_name]: apprise_list.concat(response.data.data),
@@ -81,25 +81,23 @@ Page({
},
go(e){
let url = e.currentTarget.dataset.url;
- console.log(url);
+ //console.log(url);
app.go(url);
},
handlegetLastInquiry(patient_id,doctor_id,order_inquiry_id){
- api. getLastInquiry({
+ api.getLastInquiry({
patient_id:patient_id,
doctor_id:doctor_id
}).then(data=>{
let result=data.data;
let url='';
- if(result.data){
- url = "/Pages/yishi/chat/index?order_inquiry_id="+result.data;
+ if(result){
+ url = "/Pages/yishi/chat/index?order_inquiry_id="+result+"&from=prescription";
}else{
- url = "/Pages/yishi/chat/index?order_inquiry_id="+order_inquiry_id;
+ url = "/Pages/yishi/chat/index?order_inquiry_id="+order_inquiry_id+"&from=prescription";
}
app.go(url);
- console.log(result);
-
})
},
gochat(e){
diff --git a/Pages/yishi/my/index.js b/Pages/yishi/my/index.js
index e3558fd..312aa72 100644
--- a/Pages/yishi/my/index.js
+++ b/Pages/yishi/my/index.js
@@ -41,7 +41,7 @@ Page({
});
},
onLoad(){
- console.log("onLoad ");
+ //console.log("onLoad ");
},
onShow: function () {
// console.log("onshow ");
diff --git a/Pages/yishi/my/index.wxml b/Pages/yishi/my/index.wxml
index 9132616..2e0a600 100644
--- a/Pages/yishi/my/index.wxml
+++ b/Pages/yishi/my/index.wxml
@@ -41,7 +41,7 @@
-
+
提现
diff --git a/Pages/yishi/my/index.wxss b/Pages/yishi/my/index.wxss
index 32bb99e..656ac6f 100644
--- a/Pages/yishi/my/index.wxss
+++ b/Pages/yishi/my/index.wxss
@@ -99,11 +99,13 @@ page{
.account_top{
flex: 2;
display: flex;
+ align-items: stretch;
}
.account_top_left{
flex: 3;
display: flex;
flex-direction: column;
+ justify-content: space-between;
color: black;
margin-left: 20rpx;
}
@@ -116,17 +118,18 @@ color: rgba(0,0,0,0.65);
align-items: center;
}
.account_num{
- margin-top: 10rpx;
+ margin-bottom: 10rpx;
font-weight: bold;
display: flex;
align-items: center;
}
.account_top_right{
+
flex: 2;
display: flex;
justify-content: center;
align-items:flex-end;
- margin-bottom: 20rpx;
+
}
.account_bottom{
flex: 1;
diff --git a/Pages/yishi/wenzhen_v2/wenzhen.js b/Pages/yishi/wenzhen_v2/wenzhen.js
index 8f52fe4..819a833 100644
--- a/Pages/yishi/wenzhen_v2/wenzhen.js
+++ b/Pages/yishi/wenzhen_v2/wenzhen.js
@@ -41,8 +41,6 @@ Page({
dot_5: false,
},
onLoad() {
- console.log("wenzhen onloadddd");
-
// if(wx.$TUIKit){
// wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.MESSAGE_RECEIVED, this.$onMessageReceived, this);
// }else{
@@ -120,13 +118,10 @@ Page({
if(wx.$TUIKit){
- console.log("1111");
-
wx.$TUIKit.off(wx.$TUIKitTIM.EVENT.SDK_READY, this.onSDKReady);
wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.SDK_READY, this.onSDKReady, this);
wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.MESSAGE_RECEIVED, this.$onMessageReceived, this);
}else{
- console.log("222")
app.imInit().then(res => {
// console.log("wenzhen onload imInit");
wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.SDK_READY, this.onSDKReady, this);
@@ -174,7 +169,7 @@ Page({
})
},
onSDKReady(){
- console.log("onSDKReady from wenzhen");
+ //console.log("onSDKReady from wenzhen");
this.getConversationList();
},
getConversationList(){
@@ -184,7 +179,7 @@ Page({
wx.$TUIKit.getConversationList().then((imResponse) => {
// console.log("imResponse.data.conversationList from wenzhen_v2: ", imResponse.data.conversationList);
- console.log("监听会话接口列表")
+ //console.log("监听会话接口列表")
console.log(imResponse.data.conversationList)
this.setData({
conversationList: imResponse.data.conversationList,
@@ -513,8 +508,18 @@ Page({
let from_account = e.currentTarget.dataset.from_account;
let order_inquiry_id = e.currentTarget.dataset.order_inquiry_id;
+ let from= e.currentTarget.dataset.from;
let inquiry_type = e.currentTarget.dataset.inquiry_type;
- let url = e.currentTarget.dataset.url+"?from_account="+from_account+"&order_inquiry_id="+order_inquiry_id+"&inquiry_type="+inquiry_type;
+ let url='';
+
+ //from=end代表从问诊接触过来,from=prescription 代表从处方管理进来
+ //主要处理有新的问诊还停留在老的聊天问诊里的bug。
+ if(from){
+ url = e.currentTarget.dataset.url+"?from_account="+from_account+"&order_inquiry_id="+order_inquiry_id+"&inquiry_type="+inquiry_type+"&from="+from;
+ }else{
+ url = e.currentTarget.dataset.url+"?from_account="+from_account+"&order_inquiry_id="+order_inquiry_id+"&inquiry_type="+inquiry_type;
+ }
+
app.go(url);
},
postDoctorInquiry(e){
diff --git a/Pages/yishi/wenzhen_v2/wenzhen.wxml b/Pages/yishi/wenzhen_v2/wenzhen.wxml
index e3661c5..8797461 100644
--- a/Pages/yishi/wenzhen_v2/wenzhen.wxml
+++ b/Pages/yishi/wenzhen_v2/wenzhen.wxml
@@ -195,7 +195,7 @@
custom-style="padding:0 35rpx; height:67rpx; border-radius: 10rpx;margin-left:20rpx;" color="#3CC7C0">去接诊
- 问诊详情
+ 问诊详情
@@ -380,7 +380,9 @@
-
+
就诊人:
diff --git a/TUIKit/components/TUIChat/components/MessageInput/index.js b/TUIKit/components/TUIChat/components/MessageInput/index.js
index 7502196..33f23b6 100644
--- a/TUIKit/components/TUIChat/components/MessageInput/index.js
+++ b/TUIKit/components/TUIChat/components/MessageInput/index.js
@@ -2,7 +2,6 @@ import logger from '../../../../utils/logger';
import constant from '../../../../utils/constant';
import { API } from '../../../../../utils/network/api';
import { requestSubscribeMessage } from '../../../../../utils/requestSubscribeUtil';
-
const api = new API()
let app = getApp()
// eslint-disable-next-line no-undef
@@ -24,6 +23,15 @@ Component({
type: String,
value: {},
},
+ from:{
+ type: String,
+ value: '',
+ observer(from) {
+ this.setData({
+ from: from,
+ });
+ }
+ },
inquiry_type: {
type: String,
value: {},
@@ -358,9 +366,10 @@ Component({
},
// 发送图片消息
- handleSendImageMessage(file) {
+ async handleSendImageMessage(file) {
let networkstatus = this.data.networkstatus
+ let {from}=this.data;
// console.log("networkstatus: ", networkstatus)
if(networkstatus === 'none'){
wx.showToast({
@@ -369,7 +378,9 @@ Component({
})
return
}
-
+ if(from){
+ await this.handlegetLastInquiry();
+ }
let _this = this;
let conversationID = this.data.conversation.conversationID
let promise = wx.$TUIKit.getConversationProfile(conversationID);
@@ -431,6 +442,7 @@ Component({
this.$sendTIMMessage(message);
})
},
+
// 发送视频消息
handleSendVideoMessage(file) {
@@ -525,6 +537,53 @@ Component({
this.setData({
dialog_visible: false
})
+ },
+ //获取问诊订单状态
+ async getInquiryMessageBasic(order_inquiry_id) {
+ // console.log("order_inquiry_id: ", this.data.order_inquiry_id);
+ await api.getInquiryMessageBasic({order_inquiry_id:order_inquiry_id}).then(response => {
+ let result=response.data;
+ console.log(result.inquiry_status)
+ if(result.inquiry_status==3){
+ wx.showToast({
+ title: '暂时不能发送消息',
+ });
+ return false;
+ }
+ }).then(res => {
+
+ }).catch(errors => {console.error(errors);})
+ },
+ //获取最新问诊id;
+ async handlegetLastInquiry(){
+ let {baseInfo,order_inquiry_id}=this.data;
+ const {data} =await api.getLastInquiry({
+ patient_id:baseInfo.patient_id,
+ doctor_id:baseInfo.doctor_id
+ })
+ if(data){
+ if(data!=order_inquiry_id){
+ const result=await api.getInquiryMessageBasic({order_inquiry_id:data});
+ if(result.data.inquiry_status==3){
+ wx.showToast({
+ title: '暂时不能发送消息',
+ });
+ return false;
+ }
+ //this.getInquiryMessageBasic(data);
+ }
+ }
+ // .then(data=>{
+
+ // let result=data.data;
+ // console.log(result,order_inquiry_id)
+ // if(result){
+ // if(result!=order_inquiry_id){
+ // this.getInquiryMessageBasic(result);
+ // }
+ // }
+
+ // })
},
confirmDialog(){
// app.go("/Pages/yishi/zhiye_identity/index")
@@ -679,9 +738,9 @@ Component({
});
},
- sendTextMessage(msg, flag) {
-
+ async sendTextMessage(msg, flag) {
let networkstatus = this.data.networkstatus
+ let {from}=this.data;
// console.log("networkstatus: ", networkstatus)
if(networkstatus === 'none'){
wx.showToast({
@@ -690,7 +749,9 @@ Component({
})
return
}
-
+ if(from){
+ await this.handlegetLastInquiry();
+ };
wx.aegis.reportEvent({
name: 'messageType',
ext1: 'messageType-text',
@@ -748,7 +809,7 @@ Component({
message_rounds: message_rounds,
patient_family_data: patient_family_data
});
-
+
// console.log("mycloudCustomData: ", mycloudCustomData);
// console.log("text: ", text);
const message = wx.$TUIKit.createTextMessage({
diff --git a/TUIKit/components/TUIChat/index.js b/TUIKit/components/TUIChat/index.js
index 291325f..5b1ad44 100644
--- a/TUIKit/components/TUIChat/index.js
+++ b/TUIKit/components/TUIChat/index.js
@@ -40,6 +40,15 @@ Component({
type: String,
value: ''
},
+ from:{
+ type: String,
+ value: '',
+ observer(from) {
+ this.setData({
+ from: from,
+ });
+ },
+ },
inquiry_type: {
type: String,
value: ''
diff --git a/TUIKit/components/TUIChat/index.wxml b/TUIKit/components/TUIChat/index.wxml
index 241a7d6..86b13ce 100644
--- a/TUIKit/components/TUIChat/index.wxml
+++ b/TUIKit/components/TUIChat/index.wxml
@@ -59,7 +59,7 @@
-
diff --git a/TUIKit/utils/runtime.js b/TUIKit/utils/runtime.js
new file mode 100644
index 0000000..e444703
--- /dev/null
+++ b/TUIKit/utils/runtime.js
@@ -0,0 +1,717 @@
+/**
+ * 编程小石头
+ * wechat:2501902696
+ */
+
+!(function (global) {
+ // "use strict";
+
+ var Op = Object.prototype;
+ var hasOwn = Op.hasOwnProperty;
+ var undefined; // More compressible than void 0.
+ var $Symbol = typeof Symbol === "function" ? Symbol : {};
+ var iteratorSymbol = $Symbol.iterator || "@@iterator";
+ var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
+ var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
+
+ var inModule = typeof module === "object";
+ var runtime = global.regeneratorRuntime;
+ if (runtime) {
+ if (inModule) {
+ // If regeneratorRuntime is defined globally and we're in a module,
+ // make the exports object identical to regeneratorRuntime.
+ module.exports = runtime;
+ }
+ // Don't bother evaluating the rest of this file if the runtime was
+ // already defined globally.
+ return;
+ }
+
+ // Define the runtime globally (as expected by generated code) as either
+ // module.exports (if we're in a module) or a new, empty object.
+ runtime = global.regeneratorRuntime = inModule ? module.exports : {};
+
+ function wrap(innerFn, outerFn, self, tryLocsList) {
+ // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
+ var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
+ var generator = Object.create(protoGenerator.prototype);
+ var context = new Context(tryLocsList || []);
+
+ // The ._invoke method unifies the implementations of the .next,
+ // .throw, and .return methods.
+ generator._invoke = makeInvokeMethod(innerFn, self, context);
+
+ return generator;
+ }
+ runtime.wrap = wrap;
+
+ // Try/catch helper to minimize deoptimizations. Returns a completion
+ // record like context.tryEntries[i].completion. This interface could
+ // have been (and was previously) designed to take a closure to be
+ // invoked without arguments, but in all the cases we care about we
+ // already have an existing method we want to call, so there's no need
+ // to create a new function object. We can even get away with assuming
+ // the method takes exactly one argument, since that happens to be true
+ // in every case, so we don't have to touch the arguments object. The
+ // only additional allocation required is the completion record, which
+ // has a stable shape and so hopefully should be cheap to allocate.
+ function tryCatch(fn, obj, arg) {
+ try {
+ return { type: "normal", arg: fn.call(obj, arg) };
+ } catch (err) {
+ return { type: "throw", arg: err };
+ }
+ }
+
+ var GenStateSuspendedStart = "suspendedStart";
+ var GenStateSuspendedYield = "suspendedYield";
+ var GenStateExecuting = "executing";
+ var GenStateCompleted = "completed";
+
+ // Returning this object from the innerFn has the same effect as
+ // breaking out of the dispatch switch statement.
+ var ContinueSentinel = {};
+
+ // Dummy constructor functions that we use as the .constructor and
+ // .constructor.prototype properties for functions that return Generator
+ // objects. For full spec compliance, you may wish to configure your
+ // minifier not to mangle the names of these two functions.
+ function Generator() { }
+ function GeneratorFunction() { }
+ function GeneratorFunctionPrototype() { }
+
+ // This is a polyfill for %IteratorPrototype% for environments that
+ // don't natively support it.
+ var IteratorPrototype = {};
+ IteratorPrototype[iteratorSymbol] = function () {
+ return this;
+ };
+
+ var getProto = Object.getPrototypeOf;
+ var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
+ if (NativeIteratorPrototype &&
+ NativeIteratorPrototype !== Op &&
+ hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
+ // This environment has a native %IteratorPrototype%; use it instead
+ // of the polyfill.
+ IteratorPrototype = NativeIteratorPrototype;
+ }
+
+ var Gp = GeneratorFunctionPrototype.prototype =
+ Generator.prototype = Object.create(IteratorPrototype);
+ GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
+ GeneratorFunctionPrototype.constructor = GeneratorFunction;
+ GeneratorFunctionPrototype[toStringTagSymbol] =
+ GeneratorFunction.displayName = "GeneratorFunction";
+
+ // Helper for defining the .next, .throw, and .return methods of the
+ // Iterator interface in terms of a single ._invoke method.
+ function defineIteratorMethods(prototype) {
+ ["next", "throw", "return"].forEach(function (method) {
+ prototype[method] = function (arg) {
+ return this._invoke(method, arg);
+ };
+ });
+ }
+
+ runtime.isGeneratorFunction = function (genFun) {
+ var ctor = typeof genFun === "function" && genFun.constructor;
+ return ctor
+ ? ctor === GeneratorFunction ||
+ // For the native GeneratorFunction constructor, the best we can
+ // do is to check its .name property.
+ (ctor.displayName || ctor.name) === "GeneratorFunction"
+ : false;
+ };
+
+ runtime.mark = function (genFun) {
+ if (Object.setPrototypeOf) {
+ Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
+ } else {
+ genFun.__proto__ = GeneratorFunctionPrototype;
+ if (!(toStringTagSymbol in genFun)) {
+ genFun[toStringTagSymbol] = "GeneratorFunction";
+ }
+ }
+ genFun.prototype = Object.create(Gp);
+ return genFun;
+ };
+
+ // Within the body of any async function, `await x` is transformed to
+ // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
+ // `hasOwn.call(value, "__await")` to determine if the yielded value is
+ // meant to be awaited.
+ runtime.awrap = function (arg) {
+ return { __await: arg };
+ };
+
+ function AsyncIterator(generator) {
+ function invoke(method, arg, resolve, reject) {
+ var record = tryCatch(generator[method], generator, arg);
+ if (record.type === "throw") {
+ reject(record.arg);
+ } else {
+ var result = record.arg;
+ var value = result.value;
+ if (value &&
+ typeof value === "object" &&
+ hasOwn.call(value, "__await")) {
+ return Promise.resolve(value.__await).then(function (value) {
+ invoke("next", value, resolve, reject);
+ }, function (err) {
+ invoke("throw", err, resolve, reject);
+ });
+ }
+
+ return Promise.resolve(value).then(function (unwrapped) {
+ // When a yielded Promise is resolved, its final value becomes
+ // the .value of the Promise<{value,done}> result for the
+ // current iteration.
+ result.value = unwrapped;
+ resolve(result);
+ }, function (error) {
+ // If a rejected Promise was yielded, throw the rejection back
+ // into the async generator function so it can be handled there.
+ return invoke("throw", error, resolve, reject);
+ });
+ }
+ }
+
+ var previousPromise;
+
+ function enqueue(method, arg) {
+ function callInvokeWithMethodAndArg() {
+ return new Promise(function (resolve, reject) {
+ invoke(method, arg, resolve, reject);
+ });
+ }
+
+ return previousPromise =
+ // If enqueue has been called before, then we want to wait until
+ // all previous Promises have been resolved before calling invoke,
+ // so that results are always delivered in the correct order. If
+ // enqueue has not been called before, then it is important to
+ // call invoke immediately, without waiting on a callback to fire,
+ // so that the async generator function has the opportunity to do
+ // any necessary setup in a predictable way. This predictability
+ // is why the Promise constructor synchronously invokes its
+ // executor callback, and why async functions synchronously
+ // execute code before the first await. Since we implement simple
+ // async functions in terms of async generators, it is especially
+ // important to get this right, even though it requires care.
+ previousPromise ? previousPromise.then(
+ callInvokeWithMethodAndArg,
+ // Avoid propagating failures to Promises returned by later
+ // invocations of the iterator.
+ callInvokeWithMethodAndArg
+ ) : callInvokeWithMethodAndArg();
+ }
+
+ // Define the unified helper method that is used to implement .next,
+ // .throw, and .return (see defineIteratorMethods).
+ this._invoke = enqueue;
+ }
+
+ defineIteratorMethods(AsyncIterator.prototype);
+ AsyncIterator.prototype[asyncIteratorSymbol] = function () {
+ return this;
+ };
+ runtime.AsyncIterator = AsyncIterator;
+
+ // Note that simple async functions are implemented on top of
+ // AsyncIterator objects; they just return a Promise for the value of
+ // the final result produced by the iterator.
+ runtime.async = function (innerFn, outerFn, self, tryLocsList) {
+ var iter = new AsyncIterator(
+ wrap(innerFn, outerFn, self, tryLocsList)
+ );
+
+ return runtime.isGeneratorFunction(outerFn)
+ ? iter // If outerFn is a generator, return the full iterator.
+ : iter.next().then(function (result) {
+ return result.done ? result.value : iter.next();
+ });
+ };
+
+ function makeInvokeMethod(innerFn, self, context) {
+ var state = GenStateSuspendedStart;
+
+ return function invoke(method, arg) {
+ if (state === GenStateExecuting) {
+ throw new Error("Generator is already running");
+ }
+
+ if (state === GenStateCompleted) {
+ if (method === "throw") {
+ throw arg;
+ }
+
+ // Be forgiving, per 25.3.3.3.3 of the spec:
+ // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
+ return doneResult();
+ }
+
+ context.method = method;
+ context.arg = arg;
+
+ while (true) {
+ var delegate = context.delegate;
+ if (delegate) {
+ var delegateResult = maybeInvokeDelegate(delegate, context);
+ if (delegateResult) {
+ if (delegateResult === ContinueSentinel) continue;
+ return delegateResult;
+ }
+ }
+
+ if (context.method === "next") {
+ // Setting context._sent for legacy support of Babel's
+ // function.sent implementation.
+ context.sent = context._sent = context.arg;
+
+ } else if (context.method === "throw") {
+ if (state === GenStateSuspendedStart) {
+ state = GenStateCompleted;
+ throw context.arg;
+ }
+
+ context.dispatchException(context.arg);
+
+ } else if (context.method === "return") {
+ context.abrupt("return", context.arg);
+ }
+
+ state = GenStateExecuting;
+
+ var record = tryCatch(innerFn, self, context);
+ if (record.type === "normal") {
+ // If an exception is thrown from innerFn, we leave state ===
+ // GenStateExecuting and loop back for another invocation.
+ state = context.done
+ ? GenStateCompleted
+ : GenStateSuspendedYield;
+
+ if (record.arg === ContinueSentinel) {
+ continue;
+ }
+
+ return {
+ value: record.arg,
+ done: context.done
+ };
+
+ } else if (record.type === "throw") {
+ state = GenStateCompleted;
+ // Dispatch the exception by looping back around to the
+ // context.dispatchException(context.arg) call above.
+ context.method = "throw";
+ context.arg = record.arg;
+ }
+ }
+ };
+ }
+
+ // Call delegate.iterator[context.method](context.arg) and handle the
+ // result, either by returning a { value, done } result from the
+ // delegate iterator, or by modifying context.method and context.arg,
+ // setting context.delegate to null, and returning the ContinueSentinel.
+ function maybeInvokeDelegate(delegate, context) {
+ var method = delegate.iterator[context.method];
+ if (method === undefined) {
+ // A .throw or .return when the delegate iterator has no .throw
+ // method always terminates the yield* loop.
+ context.delegate = null;
+
+ if (context.method === "throw") {
+ if (delegate.iterator.return) {
+ // If the delegate iterator has a return method, give it a
+ // chance to clean up.
+ context.method = "return";
+ context.arg = undefined;
+ maybeInvokeDelegate(delegate, context);
+
+ if (context.method === "throw") {
+ // If maybeInvokeDelegate(context) changed context.method from
+ // "return" to "throw", let that override the TypeError below.
+ return ContinueSentinel;
+ }
+ }
+
+ context.method = "throw";
+ context.arg = new TypeError(
+ "The iterator does not provide a 'throw' method");
+ }
+
+ return ContinueSentinel;
+ }
+
+ var record = tryCatch(method, delegate.iterator, context.arg);
+
+ if (record.type === "throw") {
+ context.method = "throw";
+ context.arg = record.arg;
+ context.delegate = null;
+ return ContinueSentinel;
+ }
+
+ var info = record.arg;
+
+ if (!info) {
+ context.method = "throw";
+ context.arg = new TypeError("iterator result is not an object");
+ context.delegate = null;
+ return ContinueSentinel;
+ }
+
+ if (info.done) {
+ // Assign the result of the finished delegate to the temporary
+ // variable specified by delegate.resultName (see delegateYield).
+ context[delegate.resultName] = info.value;
+
+ // Resume execution at the desired location (see delegateYield).
+ context.next = delegate.nextLoc;
+
+ // If context.method was "throw" but the delegate handled the
+ // exception, let the outer generator proceed normally. If
+ // context.method was "next", forget context.arg since it has been
+ // "consumed" by the delegate iterator. If context.method was
+ // "return", allow the original .return call to continue in the
+ // outer generator.
+ if (context.method !== "return") {
+ context.method = "next";
+ context.arg = undefined;
+ }
+
+ } else {
+ // Re-yield the result returned by the delegate method.
+ return info;
+ }
+
+ // The delegate iterator is finished, so forget it and continue with
+ // the outer generator.
+ context.delegate = null;
+ return ContinueSentinel;
+ }
+
+ // Define Generator.prototype.{next,throw,return} in terms of the
+ // unified ._invoke helper method.
+ defineIteratorMethods(Gp);
+
+ Gp[toStringTagSymbol] = "Generator";
+
+ // A Generator should always return itself as the iterator object when the
+ // @@iterator function is called on it. Some browsers' implementations of the
+ // iterator prototype chain incorrectly implement this, causing the Generator
+ // object to not be returned from this call. This ensures that doesn't happen.
+ // See https://github.com/facebook/regenerator/issues/274 for more details.
+ Gp[iteratorSymbol] = function () {
+ return this;
+ };
+
+ Gp.toString = function () {
+ return "[object Generator]";
+ };
+
+ function pushTryEntry(locs) {
+ var entry = { tryLoc: locs[0] };
+
+ if (1 in locs) {
+ entry.catchLoc = locs[1];
+ }
+
+ if (2 in locs) {
+ entry.finallyLoc = locs[2];
+ entry.afterLoc = locs[3];
+ }
+
+ this.tryEntries.push(entry);
+ }
+
+ function resetTryEntry(entry) {
+ var record = entry.completion || {};
+ record.type = "normal";
+ delete record.arg;
+ entry.completion = record;
+ }
+
+ function Context(tryLocsList) {
+ // The root entry object (effectively a try statement without a catch
+ // or a finally block) gives us a place to store values thrown from
+ // locations where there is no enclosing try statement.
+ this.tryEntries = [{ tryLoc: "root" }];
+ tryLocsList.forEach(pushTryEntry, this);
+ this.reset(true);
+ }
+
+ runtime.keys = function (object) {
+ var keys = [];
+ for (var key in object) {
+ keys.push(key);
+ }
+ keys.reverse();
+
+ // Rather than returning an object with a next method, we keep
+ // things simple and return the next function itself.
+ return function next() {
+ while (keys.length) {
+ var key = keys.pop();
+ if (key in object) {
+ next.value = key;
+ next.done = false;
+ return next;
+ }
+ }
+
+ // To avoid creating an additional object, we just hang the .value
+ // and .done properties off the next function object itself. This
+ // also ensures that the minifier will not anonymize the function.
+ next.done = true;
+ return next;
+ };
+ };
+
+ function values(iterable) {
+ if (iterable) {
+ var iteratorMethod = iterable[iteratorSymbol];
+ if (iteratorMethod) {
+ return iteratorMethod.call(iterable);
+ }
+
+ if (typeof iterable.next === "function") {
+ return iterable;
+ }
+
+ if (!isNaN(iterable.length)) {
+ var i = -1, next = function next() {
+ while (++i < iterable.length) {
+ if (hasOwn.call(iterable, i)) {
+ next.value = iterable[i];
+ next.done = false;
+ return next;
+ }
+ }
+
+ next.value = undefined;
+ next.done = true;
+
+ return next;
+ };
+
+ return next.next = next;
+ }
+ }
+
+ // Return an iterator with no values.
+ return { next: doneResult };
+ }
+ runtime.values = values;
+
+ function doneResult() {
+ return { value: undefined, done: true };
+ }
+
+ Context.prototype = {
+ constructor: Context,
+
+ reset: function (skipTempReset) {
+ this.prev = 0;
+ this.next = 0;
+ // Resetting context._sent for legacy support of Babel's
+ // function.sent implementation.
+ this.sent = this._sent = undefined;
+ this.done = false;
+ this.delegate = null;
+
+ this.method = "next";
+ this.arg = undefined;
+
+ this.tryEntries.forEach(resetTryEntry);
+
+ if (!skipTempReset) {
+ for (var name in this) {
+ // Not sure about the optimal order of these conditions:
+ if (name.charAt(0) === "t" &&
+ hasOwn.call(this, name) &&
+ !isNaN(+name.slice(1))) {
+ this[name] = undefined;
+ }
+ }
+ }
+ },
+
+ stop: function () {
+ this.done = true;
+
+ var rootEntry = this.tryEntries[0];
+ var rootRecord = rootEntry.completion;
+ if (rootRecord.type === "throw") {
+ throw rootRecord.arg;
+ }
+
+ return this.rval;
+ },
+
+ dispatchException: function (exception) {
+ if (this.done) {
+ throw exception;
+ }
+
+ var context = this;
+ function handle(loc, caught) {
+ record.type = "throw";
+ record.arg = exception;
+ context.next = loc;
+
+ if (caught) {
+ // If the dispatched exception was caught by a catch block,
+ // then let that catch block handle the exception normally.
+ context.method = "next";
+ context.arg = undefined;
+ }
+
+ return !!caught;
+ }
+
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ var record = entry.completion;
+
+ if (entry.tryLoc === "root") {
+ // Exception thrown outside of any try block that could handle
+ // it, so set the completion value of the entire function to
+ // throw the exception.
+ return handle("end");
+ }
+
+ if (entry.tryLoc <= this.prev) {
+ var hasCatch = hasOwn.call(entry, "catchLoc");
+ var hasFinally = hasOwn.call(entry, "finallyLoc");
+
+ if (hasCatch && hasFinally) {
+ if (this.prev < entry.catchLoc) {
+ return handle(entry.catchLoc, true);
+ } else if (this.prev < entry.finallyLoc) {
+ return handle(entry.finallyLoc);
+ }
+
+ } else if (hasCatch) {
+ if (this.prev < entry.catchLoc) {
+ return handle(entry.catchLoc, true);
+ }
+
+ } else if (hasFinally) {
+ if (this.prev < entry.finallyLoc) {
+ return handle(entry.finallyLoc);
+ }
+
+ } else {
+ throw new Error("try statement without catch or finally");
+ }
+ }
+ }
+ },
+
+ abrupt: function (type, arg) {
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ if (entry.tryLoc <= this.prev &&
+ hasOwn.call(entry, "finallyLoc") &&
+ this.prev < entry.finallyLoc) {
+ var finallyEntry = entry;
+ break;
+ }
+ }
+
+ if (finallyEntry &&
+ (type === "break" ||
+ type === "continue") &&
+ finallyEntry.tryLoc <= arg &&
+ arg <= finallyEntry.finallyLoc) {
+ // Ignore the finally entry if control is not jumping to a
+ // location outside the try/catch block.
+ finallyEntry = null;
+ }
+
+ var record = finallyEntry ? finallyEntry.completion : {};
+ record.type = type;
+ record.arg = arg;
+
+ if (finallyEntry) {
+ this.method = "next";
+ this.next = finallyEntry.finallyLoc;
+ return ContinueSentinel;
+ }
+
+ return this.complete(record);
+ },
+
+ complete: function (record, afterLoc) {
+ if (record.type === "throw") {
+ throw record.arg;
+ }
+
+ if (record.type === "break" ||
+ record.type === "continue") {
+ this.next = record.arg;
+ } else if (record.type === "return") {
+ this.rval = this.arg = record.arg;
+ this.method = "return";
+ this.next = "end";
+ } else if (record.type === "normal" && afterLoc) {
+ this.next = afterLoc;
+ }
+
+ return ContinueSentinel;
+ },
+
+ finish: function (finallyLoc) {
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ if (entry.finallyLoc === finallyLoc) {
+ this.complete(entry.completion, entry.afterLoc);
+ resetTryEntry(entry);
+ return ContinueSentinel;
+ }
+ }
+ },
+
+ "catch": function (tryLoc) {
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ if (entry.tryLoc === tryLoc) {
+ var record = entry.completion;
+ if (record.type === "throw") {
+ var thrown = record.arg;
+ resetTryEntry(entry);
+ }
+ return thrown;
+ }
+ }
+
+ // The context.catch method must only be called with a location
+ // argument that corresponds to a known catch block.
+ throw new Error("illegal catch attempt");
+ },
+
+ delegateYield: function (iterable, resultName, nextLoc) {
+ this.delegate = {
+ iterator: values(iterable),
+ resultName: resultName,
+ nextLoc: nextLoc
+ };
+
+ if (this.method === "next") {
+ // Deliberately forget the last sent value so that we don't
+ // accidentally pass it on to the delegate.
+ this.arg = undefined;
+ }
+
+ return ContinueSentinel;
+ }
+ };
+})(
+ // In sloppy mode, unbound `this` refers to the global object, fallback to
+ // Function constructor if we're in global strict mode. That is sadly a form
+ // of indirect eval which violates Content Security Policy.
+ (function () { return this })() || Function("return this")()
+);
diff --git a/project.config.json b/project.config.json
index 6bff22f..b54bdc4 100644
--- a/project.config.json
+++ b/project.config.json
@@ -39,7 +39,7 @@
"disableUseStrict": false,
"useCompilerPlugins": false,
"minifyWXML": false,
- "condition": false,
+ "condition": true,
"ignoreUploadUnusedFiles": true
},
"condition": {},